1 /* 2 * This file is part of gtkD. 3 * 4 * gtkD is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU Lesser General Public License 6 * as published by the Free Software Foundation; either version 3 7 * of the License, or (at your option) any later version, with 8 * some exceptions, please read the COPYING file. 9 * 10 * gtkD is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public License 16 * along with gtkD; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA 18 */ 19 20 // generated automatically - do not change 21 // find conversion definition on APILookup.txt 22 // implement new conversion functionalities on the wrap.utils pakage 23 24 25 module gtk.c.types; 26 27 public import cairo.c.types; 28 public import gdk.c.types; 29 public import gdkpixbuf.c.types; 30 public import gio.c.types; 31 public import glib.c.types; 32 public import gobject.c.types; 33 public import graphene.c.types; 34 public import gsk.c.types; 35 public import pango.c.types; 36 37 38 /** 39 * The rectangle representing the area allocated for a widget by its parent. 40 */ 41 public alias GdkRectangle GtkAllocation; 42 43 /** 44 * The possible values for the %GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE 45 * accessible property. 46 */ 47 public enum GtkAccessibleAutocomplete 48 { 49 /** 50 * Automatic suggestions are not displayed. 51 */ 52 NONE = 0, 53 /** 54 * When a user is providing input, text 55 * suggesting one way to complete the provided input may be dynamically 56 * inserted after the caret. 57 */ 58 INLINE = 1, 59 /** 60 * When a user is providing input, an element 61 * containing a collection of values that could complete the provided input 62 * may be displayed. 63 */ 64 LIST = 2, 65 /** 66 * When a user is providing input, an element 67 * containing a collection of values that could complete the provided input 68 * may be displayed. If displayed, one value in the collection is automatically 69 * selected, and the text needed to complete the automatically selected value 70 * appears after the caret in the input. 71 */ 72 BOTH = 3, 73 } 74 alias GtkAccessibleAutocomplete AccessibleAutocomplete; 75 76 /** 77 * The possible values for the %GTK_ACCESSIBLE_STATE_INVALID 78 * accessible state. 79 * 80 * Note that the %GTK_ACCESSIBLE_INVALID_FALSE and 81 * %GTK_ACCESSIBLE_INVALID_TRUE have the same values 82 * as %FALSE and %TRUE. 83 */ 84 public enum GtkAccessibleInvalidState 85 { 86 /** 87 * There are no detected errors in the value 88 */ 89 FALSE = 0, 90 /** 91 * The value entered by the user has failed validation 92 */ 93 TRUE = 1, 94 /** 95 * A grammatical error was detected 96 */ 97 GRAMMAR = 2, 98 /** 99 * A spelling error was detected 100 */ 101 SPELLING = 3, 102 } 103 alias GtkAccessibleInvalidState AccessibleInvalidState; 104 105 /** 106 * The possible accessible properties of a [iface@Accessible]. 107 */ 108 public enum GtkAccessibleProperty 109 { 110 /** 111 * Indicates whether inputting text 112 * could trigger display of one or more predictions of the user's intended 113 * value for a combobox, searchbox, or textbox and specifies how predictions 114 * would be presented if they were made. Value type: [enum@AccessibleAutocomplete] 115 */ 116 AUTOCOMPLETE = 0, 117 /** 118 * Defines a string value that describes 119 * or annotates the current element. Value type: string 120 */ 121 DESCRIPTION = 1, 122 /** 123 * Indicates the availability and type of 124 * interactive popup element, such as menu or dialog, that can be triggered 125 * by an element. 126 */ 127 HAS_POPUP = 2, 128 /** 129 * Indicates keyboard shortcuts that an 130 * author has implemented to activate or give focus to an element. Value type: 131 * string 132 */ 133 KEY_SHORTCUTS = 3, 134 /** 135 * Defines a string value that labels the current 136 * element. Value type: string 137 */ 138 LABEL = 4, 139 /** 140 * Defines the hierarchical level of an element 141 * within a structure. Value type: integer 142 */ 143 LEVEL = 5, 144 /** 145 * Indicates whether an element is modal when 146 * displayed. Value type: boolean 147 */ 148 MODAL = 6, 149 /** 150 * Indicates whether a text box accepts 151 * multiple lines of input or only a single line. Value type: boolean 152 */ 153 MULTI_LINE = 7, 154 /** 155 * Indicates that the user may select 156 * more than one item from the current selectable descendants. Value type: 157 * boolean 158 */ 159 MULTI_SELECTABLE = 8, 160 /** 161 * Indicates whether the element's 162 * orientation is horizontal, vertical, or unknown/ambiguous. Value type: 163 * [enum@Orientation] 164 */ 165 ORIENTATION = 9, 166 /** 167 * Defines a short hint (a word or short 168 * phrase) intended to aid the user with data entry when the control has no 169 * value. A hint could be a sample value or a brief description of the expected 170 * format. Value type: string 171 */ 172 PLACEHOLDER = 10, 173 /** 174 * Indicates that the element is not editable, 175 * but is otherwise operable. Value type: boolean 176 */ 177 READ_ONLY = 11, 178 /** 179 * Indicates that user input is required on 180 * the element before a form may be submitted. Value type: boolean 181 */ 182 REQUIRED = 12, 183 /** 184 * Defines a human-readable, 185 * author-localized description for the role of an element. Value type: string 186 */ 187 ROLE_DESCRIPTION = 13, 188 /** 189 * Indicates if items in a table or grid are 190 * sorted in ascending or descending order. Value type: [enum@AccessibleSort] 191 */ 192 SORT = 14, 193 /** 194 * Defines the maximum allowed value for a 195 * range widget. Value type: double 196 */ 197 VALUE_MAX = 15, 198 /** 199 * Defines the minimum allowed value for a 200 * range widget. Value type: double 201 */ 202 VALUE_MIN = 16, 203 /** 204 * Defines the current value for a range widget. 205 * Value type: double 206 */ 207 VALUE_NOW = 17, 208 /** 209 * Defines the human readable text alternative 210 * of aria-valuenow for a range widget. Value type: string 211 */ 212 VALUE_TEXT = 18, 213 } 214 alias GtkAccessibleProperty AccessibleProperty; 215 216 /** 217 * The possible accessible relations of a [iface@Accessible]. 218 * 219 * Accessible relations can be references to other widgets, 220 * integers or strings. 221 */ 222 public enum GtkAccessibleRelation 223 { 224 /** 225 * Identifies the currently active 226 * element when focus is on a composite widget, combobox, textbox, group, 227 * or application. Value type: reference 228 */ 229 ACTIVE_DESCENDANT = 0, 230 /** 231 * Defines the total number of columns 232 * in a table, grid, or treegrid. Value type: integer 233 */ 234 COL_COUNT = 1, 235 /** 236 * Defines an element's column index or 237 * position with respect to the total number of columns within a table, 238 * grid, or treegrid. Value type: integer 239 */ 240 COL_INDEX = 2, 241 /** 242 * Defines a human readable text 243 * alternative of %GTK_ACCESSIBLE_RELATION_COL_INDEX. Value type: string 244 */ 245 COL_INDEX_TEXT = 3, 246 /** 247 * Defines the number of columns spanned 248 * by a cell or gridcell within a table, grid, or treegrid. Value type: integer 249 */ 250 COL_SPAN = 4, 251 /** 252 * Identifies the element (or elements) whose 253 * contents or presence are controlled by the current element. Value type: reference 254 */ 255 CONTROLS = 5, 256 /** 257 * Identifies the element (or elements) 258 * that describes the object. Value type: reference 259 */ 260 DESCRIBED_BY = 6, 261 /** 262 * Identifies the element (or elements) that 263 * provide additional information related to the object. Value type: reference 264 */ 265 DETAILS = 7, 266 /** 267 * Identifies the element that provides 268 * an error message for an object. Value type: reference 269 */ 270 ERROR_MESSAGE = 8, 271 /** 272 * Identifies the next element (or elements) 273 * in an alternate reading order of content which, at the user's discretion, 274 * allows assistive technology to override the general default of reading in 275 * document source order. Value type: reference 276 */ 277 FLOW_TO = 9, 278 /** 279 * Identifies the element (or elements) 280 * that labels the current element. Value type: reference 281 */ 282 LABELLED_BY = 10, 283 /** 284 * Identifies an element (or elements) in order 285 * to define a visual, functional, or contextual parent/child relationship 286 * between elements where the widget hierarchy cannot be used to represent 287 * the relationship. Value type: reference 288 */ 289 OWNS = 11, 290 /** 291 * Defines an element's number or position 292 * in the current set of listitems or treeitems. Value type: integer 293 */ 294 POS_IN_SET = 12, 295 /** 296 * Defines the total number of rows in a table, 297 * grid, or treegrid. Value type: integer 298 */ 299 ROW_COUNT = 13, 300 /** 301 * Defines an element's row index or position 302 * with respect to the total number of rows within a table, grid, or treegrid. 303 * Value type: integer 304 */ 305 ROW_INDEX = 14, 306 /** 307 * Defines a human readable text 308 * alternative of aria-rowindex. Value type: string 309 */ 310 ROW_INDEX_TEXT = 15, 311 /** 312 * Defines the number of rows spanned by a 313 * cell or gridcell within a table, grid, or treegrid. Value type: integer 314 */ 315 ROW_SPAN = 16, 316 /** 317 * Defines the number of items in the current 318 * set of listitems or treeitems. Value type: integer 319 */ 320 SET_SIZE = 17, 321 } 322 alias GtkAccessibleRelation AccessibleRelation; 323 324 /** 325 * The accessible role for a [iface@Accessible] implementation. 326 * 327 * Abstract roles are only used as part of the ontology; application 328 * developers must not use abstract roles in their code. 329 */ 330 public enum GtkAccessibleRole 331 { 332 /** 333 * An element with important, and usually 334 * time-sensitive, information 335 */ 336 ALERT = 0, 337 /** 338 * A type of dialog that contains an 339 * alert message 340 */ 341 ALERT_DIALOG = 1, 342 /** 343 * Unused 344 */ 345 BANNER = 2, 346 /** 347 * An input element that allows for 348 * user-triggered actions when clicked or pressed 349 */ 350 BUTTON = 3, 351 /** 352 * Unused 353 */ 354 CAPTION = 4, 355 /** 356 * Unused 357 */ 358 CELL = 5, 359 /** 360 * A checkable input element that has 361 * three possible values: `true`, `false`, or `mixed` 362 */ 363 CHECKBOX = 6, 364 /** 365 * A header in a columned list. 366 */ 367 COLUMN_HEADER = 7, 368 /** 369 * An input that controls another element, 370 * such as a list or a grid, that can dynamically pop up to help the user 371 * set the value of the input 372 */ 373 COMBO_BOX = 8, 374 /** 375 * Abstract role. 376 */ 377 COMMAND = 9, 378 /** 379 * Abstract role. 380 */ 381 COMPOSITE = 10, 382 /** 383 * A dialog is a window that is designed to interrupt 384 * the current processing of an application in order to prompt the user to enter 385 * information or require a response. 386 */ 387 DIALOG = 11, 388 /** 389 * Unused 390 */ 391 DOCUMENT = 12, 392 /** 393 * Unused 394 */ 395 FEED = 13, 396 /** 397 * Unused 398 */ 399 FORM = 14, 400 /** 401 * Unused 402 */ 403 GENERIC = 15, 404 /** 405 * A grid of items. 406 */ 407 GRID = 16, 408 /** 409 * An item in a grid or tree grid. 410 */ 411 GRID_CELL = 17, 412 /** 413 * An element that groups multiple widgets. GTK uses 414 * this role for various containers, like [class@Box], [class@Viewport], and [class@HeaderBar]. 415 */ 416 GROUP = 18, 417 /** 418 * Unused 419 */ 420 HEADING = 19, 421 /** 422 * An image. 423 */ 424 IMG = 20, 425 /** 426 * Abstract role. 427 */ 428 INPUT = 21, 429 /** 430 * A visible name or caption for a user interface component. 431 */ 432 LABEL = 22, 433 /** 434 * Abstract role. 435 */ 436 LANDMARK = 23, 437 /** 438 * Unused 439 */ 440 LEGEND = 24, 441 /** 442 * A clickable link. 443 */ 444 LINK = 25, 445 /** 446 * A list of items. 447 */ 448 LIST = 26, 449 /** 450 * Unused. 451 */ 452 LIST_BOX = 27, 453 /** 454 * An item in a list. 455 */ 456 LIST_ITEM = 28, 457 /** 458 * Unused 459 */ 460 LOG = 29, 461 /** 462 * Unused 463 */ 464 MAIN = 30, 465 /** 466 * Unused 467 */ 468 MARQUEE = 31, 469 /** 470 * Unused 471 */ 472 MATH = 32, 473 /** 474 * An element that represents a value within a known range. 475 */ 476 METER = 33, 477 /** 478 * A menu. 479 */ 480 MENU = 34, 481 /** 482 * A menubar. 483 */ 484 MENU_BAR = 35, 485 /** 486 * An item in a menu. 487 */ 488 MENU_ITEM = 36, 489 /** 490 * A check item in a menu. 491 */ 492 MENU_ITEM_CHECKBOX = 37, 493 /** 494 * A radio item in a menu. 495 */ 496 MENU_ITEM_RADIO = 38, 497 /** 498 * Unused 499 */ 500 NAVIGATION = 39, 501 /** 502 * An element that is not represented to accessibility technologies. 503 */ 504 NONE = 40, 505 /** 506 * Unused 507 */ 508 NOTE = 41, 509 /** 510 * Unused 511 */ 512 OPTION = 42, 513 /** 514 * An element that is not represented to accessibility technologies. 515 */ 516 PRESENTATION = 43, 517 /** 518 * An element that displays the progress 519 * status for tasks that take a long time. 520 */ 521 PROGRESS_BAR = 44, 522 /** 523 * A checkable input in a group of radio roles, 524 * only one of which can be checked at a time. 525 */ 526 RADIO = 45, 527 /** 528 * Unused 529 */ 530 RADIO_GROUP = 46, 531 /** 532 * Abstract role. 533 */ 534 RANGE = 47, 535 /** 536 * Unused 537 */ 538 REGION = 48, 539 /** 540 * A row in a columned list. 541 */ 542 ROW = 49, 543 /** 544 * Unused 545 */ 546 ROW_GROUP = 50, 547 /** 548 * Unused 549 */ 550 ROW_HEADER = 51, 551 /** 552 * A graphical object that controls the scrolling 553 * of content within a viewing area, regardless of whether the content is fully 554 * displayed within the viewing area. 555 */ 556 SCROLLBAR = 52, 557 /** 558 * Unused 559 */ 560 SEARCH = 53, 561 /** 562 * A type of textbox intended for specifying 563 * search criteria. 564 */ 565 SEARCH_BOX = 54, 566 /** 567 * Abstract role. 568 */ 569 SECTION = 55, 570 /** 571 * Abstract role. 572 */ 573 SECTION_HEAD = 56, 574 /** 575 * Abstract role. 576 */ 577 SELECT = 57, 578 /** 579 * A divider that separates and distinguishes 580 * sections of content or groups of menuitems. 581 */ 582 SEPARATOR = 58, 583 /** 584 * A user input where the user selects a value 585 * from within a given range. 586 */ 587 SLIDER = 59, 588 /** 589 * A form of range that expects the user to 590 * select from among discrete choices. 591 */ 592 SPIN_BUTTON = 60, 593 /** 594 * Unused 595 */ 596 STATUS = 61, 597 /** 598 * Abstract role. 599 */ 600 STRUCTURE = 62, 601 /** 602 * A type of checkbox that represents on/off values, 603 * as opposed to checked/unchecked values. 604 */ 605 SWITCH = 63, 606 /** 607 * An item in a list of tab used for switching pages. 608 */ 609 TAB = 64, 610 /** 611 * Unused 612 */ 613 TABLE = 65, 614 /** 615 * A list of tabs for switching pages. 616 */ 617 TAB_LIST = 66, 618 /** 619 * A page in a notebook or stack. 620 */ 621 TAB_PANEL = 67, 622 /** 623 * A type of input that allows free-form text 624 * as its value. 625 */ 626 TEXT_BOX = 68, 627 /** 628 * Unused 629 */ 630 TIME = 69, 631 /** 632 * Unused 633 */ 634 TIMER = 70, 635 /** 636 * Unused 637 */ 638 TOOLBAR = 71, 639 /** 640 * Unused 641 */ 642 TOOLTIP = 72, 643 /** 644 * Unused 645 */ 646 TREE = 73, 647 /** 648 * A treeview-like, columned list. 649 */ 650 TREE_GRID = 74, 651 /** 652 * Unused 653 */ 654 TREE_ITEM = 75, 655 /** 656 * An interactive component of a graphical user 657 * interface. This is the role that GTK uses by default for widgets. 658 */ 659 WIDGET = 76, 660 /** 661 * An application window. 662 */ 663 WINDOW = 77, 664 } 665 alias GtkAccessibleRole AccessibleRole; 666 667 /** 668 * The possible values for the %GTK_ACCESSIBLE_PROPERTY_SORT 669 * accessible property. 670 */ 671 public enum GtkAccessibleSort 672 { 673 /** 674 * There is no defined sort applied to the column. 675 */ 676 NONE = 0, 677 /** 678 * Items are sorted in ascending order by this column. 679 */ 680 ASCENDING = 1, 681 /** 682 * Items are sorted in descending order by this column. 683 */ 684 DESCENDING = 2, 685 /** 686 * A sort algorithm other than ascending or 687 * descending has been applied. 688 */ 689 OTHER = 3, 690 } 691 alias GtkAccessibleSort AccessibleSort; 692 693 /** 694 * The possible accessible states of a [iface@Accessible]. 695 */ 696 public enum GtkAccessibleState 697 { 698 /** 699 * A “busy” state. This state has boolean values 700 */ 701 BUSY = 0, 702 /** 703 * A “checked” state; indicates the current 704 * state of a [class@CheckButton]. Value type: [enum@AccessibleTristate] 705 */ 706 CHECKED = 1, 707 /** 708 * A “disabled” state; corresponds to the 709 * [property@Widget:sensitive] property. It indicates a UI element 710 * that is perceivable, but not editable or operable. Value type: boolean 711 */ 712 DISABLED = 2, 713 /** 714 * An “expanded” state; corresponds to the 715 * [property@Expander:expanded] property. Value type: boolean 716 * or undefined 717 */ 718 EXPANDED = 3, 719 /** 720 * A “hidden” state; corresponds to the 721 * [property@Widget:visible] property. You can use this state 722 * explicitly on UI elements that should not be exposed to an assistive 723 * technology. Value type: boolean 724 * See also: %GTK_ACCESSIBLE_STATE_DISABLED 725 */ 726 HIDDEN = 4, 727 /** 728 * An “invalid” state; set when a widget 729 * is showing an error. Value type: [enum@AccessibleInvalidState] 730 */ 731 INVALID = 5, 732 /** 733 * A “pressed” state; indicates the current 734 * state of a [class@ToggleButton]. Value type: [enum@AccessibleTristate] 735 * enumeration 736 */ 737 PRESSED = 6, 738 /** 739 * A “selected” state; set when a widget 740 * is selected. Value type: boolean or undefined 741 */ 742 SELECTED = 7, 743 } 744 alias GtkAccessibleState AccessibleState; 745 746 /** 747 * The possible values for the %GTK_ACCESSIBLE_STATE_PRESSED 748 * accessible state. 749 * 750 * Note that the %GTK_ACCESSIBLE_TRISTATE_FALSE and 751 * %GTK_ACCESSIBLE_TRISTATE_TRUE have the same values 752 * as %FALSE and %TRUE. 753 */ 754 public enum GtkAccessibleTristate 755 { 756 /** 757 * The state is `false` 758 */ 759 FALSE = 0, 760 /** 761 * The state is `true` 762 */ 763 TRUE = 1, 764 /** 765 * The state is `mixed` 766 */ 767 MIXED = 2, 768 } 769 alias GtkAccessibleTristate AccessibleTristate; 770 771 /** 772 * Controls how a widget deals with extra space in a single dimension. 773 * 774 * Alignment only matters if the widget receives a “too large” allocation, 775 * for example if you packed the widget with the [property@Gtk.Widget:hexpand] 776 * property inside a [class@Box], then the widget might get extra space. 777 * If you have for example a 16x16 icon inside a 32x32 space, the icon 778 * could be scaled and stretched, it could be centered, or it could be 779 * positioned to one side of the space. 780 * 781 * Note that in horizontal context %GTK_ALIGN_START and %GTK_ALIGN_END 782 * are interpreted relative to text direction. 783 * 784 * %GTK_ALIGN_BASELINE support is optional for containers and widgets, and 785 * it is only supported for vertical alignment. When it's not supported by 786 * a child or a container it is treated as %GTK_ALIGN_FILL. 787 */ 788 public enum GtkAlign 789 { 790 /** 791 * stretch to fill all space if possible, center if 792 * no meaningful way to stretch 793 */ 794 FILL = 0, 795 /** 796 * snap to left or top side, leaving space on right or bottom 797 */ 798 START = 1, 799 /** 800 * snap to right or bottom side, leaving space on left or top 801 */ 802 END = 2, 803 /** 804 * center natural width of widget inside the allocation 805 */ 806 CENTER = 3, 807 /** 808 * align the widget according to the baseline. 809 * See [class@Gtk.Widget]. 810 */ 811 BASELINE = 4, 812 } 813 alias GtkAlign Align; 814 815 /** 816 * Types of user actions that may be blocked by `GtkApplication`. 817 * 818 * See [method@Gtk.Application.inhibit]. 819 */ 820 public enum GtkApplicationInhibitFlags 821 { 822 /** 823 * Inhibit ending the user session 824 * by logging out or by shutting down the computer 825 */ 826 LOGOUT = 1, 827 /** 828 * Inhibit user switching 829 */ 830 SWITCH = 2, 831 /** 832 * Inhibit suspending the 833 * session or computer 834 */ 835 SUSPEND = 4, 836 /** 837 * Inhibit the session being 838 * marked as idle (and possibly locked) 839 */ 840 IDLE = 8, 841 } 842 alias GtkApplicationInhibitFlags ApplicationInhibitFlags; 843 844 /** 845 * Used to indicate the direction in which an arrow should point. 846 */ 847 public enum GtkArrowType 848 { 849 /** 850 * Represents an upward pointing arrow. 851 */ 852 UP = 0, 853 /** 854 * Represents a downward pointing arrow. 855 */ 856 DOWN = 1, 857 /** 858 * Represents a left pointing arrow. 859 */ 860 LEFT = 2, 861 /** 862 * Represents a right pointing arrow. 863 */ 864 RIGHT = 3, 865 /** 866 * No arrow. 867 */ 868 NONE = 4, 869 } 870 alias GtkArrowType ArrowType; 871 872 /** 873 * Determines the page role inside a `GtkAssistant`. 874 * 875 * The role is used to handle buttons sensitivity and visibility. 876 * 877 * Note that an assistant needs to end its page flow with a page of type 878 * %GTK_ASSISTANT_PAGE_CONFIRM, %GTK_ASSISTANT_PAGE_SUMMARY or 879 * %GTK_ASSISTANT_PAGE_PROGRESS to be correct. 880 * 881 * The Cancel button will only be shown if the page isn’t “committed”. 882 * See gtk_assistant_commit() for details. 883 */ 884 public enum GtkAssistantPageType 885 { 886 /** 887 * The page has regular contents. Both the 888 * Back and forward buttons will be shown. 889 */ 890 CONTENT = 0, 891 /** 892 * The page contains an introduction to the 893 * assistant task. Only the Forward button will be shown if there is a 894 * next page. 895 */ 896 INTRO = 1, 897 /** 898 * The page lets the user confirm or deny the 899 * changes. The Back and Apply buttons will be shown. 900 */ 901 CONFIRM = 2, 902 /** 903 * The page informs the user of the changes 904 * done. Only the Close button will be shown. 905 */ 906 SUMMARY = 3, 907 /** 908 * Used for tasks that take a long time to 909 * complete, blocks the assistant until the page is marked as complete. 910 * Only the back button will be shown. 911 */ 912 PROGRESS = 4, 913 /** 914 * Used for when other page types are not 915 * appropriate. No buttons will be shown, and the application must 916 * add its own buttons through gtk_assistant_add_action_widget(). 917 */ 918 CUSTOM = 5, 919 } 920 alias GtkAssistantPageType AssistantPageType; 921 922 /** 923 * Baseline position in a row of widgets. 924 * 925 * Whenever a container has some form of natural row it may align 926 * children in that row along a common typographical baseline. If 927 * the amount of vertical space in the row is taller than the total 928 * requested height of the baseline-aligned children then it can use a 929 * `GtkBaselinePosition` to select where to put the baseline inside the 930 * extra available space. 931 */ 932 public enum GtkBaselinePosition 933 { 934 /** 935 * Align the baseline at the top 936 */ 937 TOP = 0, 938 /** 939 * Center the baseline 940 */ 941 CENTER = 1, 942 /** 943 * Align the baseline at the bottom 944 */ 945 BOTTOM = 2, 946 } 947 alias GtkBaselinePosition BaselinePosition; 948 949 /** 950 * Describes how the border of a UI element should be rendered. 951 */ 952 public enum GtkBorderStyle 953 { 954 /** 955 * No visible border 956 */ 957 NONE = 0, 958 /** 959 * Same as %GTK_BORDER_STYLE_NONE 960 */ 961 HIDDEN = 1, 962 /** 963 * A single line segment 964 */ 965 SOLID = 2, 966 /** 967 * Looks as if the content is sunken into the canvas 968 */ 969 INSET = 3, 970 /** 971 * Looks as if the content is coming out of the canvas 972 */ 973 OUTSET = 4, 974 /** 975 * A series of round dots 976 */ 977 DOTTED = 5, 978 /** 979 * A series of square-ended dashes 980 */ 981 DASHED = 6, 982 /** 983 * Two parallel lines with some space between them 984 */ 985 DOUBLE = 7, 986 /** 987 * Looks as if it were carved in the canvas 988 */ 989 GROOVE = 8, 990 /** 991 * Looks as if it were coming out of the canvas 992 */ 993 RIDGE = 9, 994 } 995 alias GtkBorderStyle BorderStyle; 996 997 /** 998 * The list of flags that can be passed to gtk_builder_create_closure(). 999 * 1000 * New values may be added in the future for new features, so external 1001 * implementations of [iface@Gtk.BuilderScope] should test the flags 1002 * for unknown values and raise a %GTK_BUILDER_ERROR_INVALID_ATTRIBUTE error 1003 * when they encounter one. 1004 */ 1005 public enum GtkBuilderClosureFlags 1006 { 1007 /** 1008 * The closure should be created swapped. See 1009 * g_cclosure_new_swap() for details. 1010 */ 1011 SWAPPED = 1, 1012 } 1013 alias GtkBuilderClosureFlags BuilderClosureFlags; 1014 1015 /** 1016 * Error codes that identify various errors that can occur while using 1017 * `GtkBuilder`. 1018 */ 1019 public enum GtkBuilderError 1020 { 1021 /** 1022 * A type-func attribute didn’t name 1023 * a function that returns a `GType`. 1024 */ 1025 INVALID_TYPE_FUNCTION = 0, 1026 /** 1027 * The input contained a tag that `GtkBuilder` 1028 * can’t handle. 1029 */ 1030 UNHANDLED_TAG = 1, 1031 /** 1032 * An attribute that is required by 1033 * `GtkBuilder` was missing. 1034 */ 1035 MISSING_ATTRIBUTE = 2, 1036 /** 1037 * `GtkBuilder` found an attribute that 1038 * it doesn’t understand. 1039 */ 1040 INVALID_ATTRIBUTE = 3, 1041 /** 1042 * `GtkBuilder` found a tag that 1043 * it doesn’t understand. 1044 */ 1045 INVALID_TAG = 4, 1046 /** 1047 * A required property value was 1048 * missing. 1049 */ 1050 MISSING_PROPERTY_VALUE = 5, 1051 /** 1052 * `GtkBuilder` couldn’t parse 1053 * some attribute value. 1054 */ 1055 INVALID_VALUE = 6, 1056 /** 1057 * The input file requires a newer version 1058 * of GTK. 1059 */ 1060 VERSION_MISMATCH = 7, 1061 /** 1062 * An object id occurred twice. 1063 */ 1064 DUPLICATE_ID = 8, 1065 /** 1066 * A specified object type is of the same type or 1067 * derived from the type of the composite class being extended with builder XML. 1068 */ 1069 OBJECT_TYPE_REFUSED = 9, 1070 /** 1071 * The wrong type was specified in a composite class’s template XML 1072 */ 1073 TEMPLATE_MISMATCH = 10, 1074 /** 1075 * The specified property is unknown for the object class. 1076 */ 1077 INVALID_PROPERTY = 11, 1078 /** 1079 * The specified signal is unknown for the object class. 1080 */ 1081 INVALID_SIGNAL = 12, 1082 /** 1083 * An object id is unknown. 1084 */ 1085 INVALID_ID = 13, 1086 /** 1087 * A function could not be found. This often happens 1088 * when symbols are set to be kept private. Compiling code with -rdynamic or using the 1089 * `gmodule-export-2.0` pkgconfig module can fix this problem. 1090 */ 1091 INVALID_FUNCTION = 14, 1092 } 1093 alias GtkBuilderError BuilderError; 1094 1095 /** 1096 * Prebuilt sets of buttons for `GtkDialog`. 1097 * 1098 * If none of these choices are appropriate, simply use 1099 * %GTK_BUTTONS_NONE and call [method@Gtk.Dialog.add_buttons]. 1100 * 1101 * > Please note that %GTK_BUTTONS_OK, %GTK_BUTTONS_YES_NO 1102 * > and %GTK_BUTTONS_OK_CANCEL are discouraged by the 1103 * > [GNOME Human Interface Guidelines](http://library.gnome.org/devel/hig-book/stable/). 1104 */ 1105 public enum GtkButtonsType 1106 { 1107 /** 1108 * no buttons at all 1109 */ 1110 NONE = 0, 1111 /** 1112 * an OK button 1113 */ 1114 OK = 1, 1115 /** 1116 * a Close button 1117 */ 1118 CLOSE = 2, 1119 /** 1120 * a Cancel button 1121 */ 1122 CANCEL = 3, 1123 /** 1124 * Yes and No buttons 1125 */ 1126 YES_NO = 4, 1127 /** 1128 * OK and Cancel buttons 1129 */ 1130 OK_CANCEL = 5, 1131 } 1132 alias GtkButtonsType ButtonsType; 1133 1134 /** 1135 * The available modes for [property@Gtk.CellRendererAccel:accel-mode]. 1136 */ 1137 public enum GtkCellRendererAccelMode 1138 { 1139 /** 1140 * GTK accelerators mode 1141 */ 1142 GTK = 0, 1143 /** 1144 * Other accelerator mode 1145 */ 1146 OTHER = 1, 1147 } 1148 alias GtkCellRendererAccelMode CellRendererAccelMode; 1149 1150 /** 1151 * Identifies how the user can interact with a particular cell. 1152 */ 1153 public enum GtkCellRendererMode 1154 { 1155 /** 1156 * The cell is just for display 1157 * and cannot be interacted with. Note that this doesn’t mean that eg. the 1158 * row being drawn can’t be selected -- just that a particular element of 1159 * it cannot be individually modified. 1160 */ 1161 INERT = 0, 1162 /** 1163 * The cell can be clicked. 1164 */ 1165 ACTIVATABLE = 1, 1166 /** 1167 * The cell can be edited or otherwise modified. 1168 */ 1169 EDITABLE = 2, 1170 } 1171 alias GtkCellRendererMode CellRendererMode; 1172 1173 /** 1174 * Tells how a cell is to be rendered. 1175 */ 1176 public enum GtkCellRendererState 1177 { 1178 /** 1179 * The cell is currently selected, and 1180 * probably has a selection colored background to render to. 1181 */ 1182 SELECTED = 1, 1183 /** 1184 * The mouse is hovering over the cell. 1185 */ 1186 PRELIT = 2, 1187 /** 1188 * The cell is drawn in an insensitive manner 1189 */ 1190 INSENSITIVE = 4, 1191 /** 1192 * The cell is in a sorted row 1193 */ 1194 SORTED = 8, 1195 /** 1196 * The cell is in the focus row. 1197 */ 1198 FOCUSED = 16, 1199 /** 1200 * The cell is in a row that can be expanded 1201 */ 1202 EXPANDABLE = 32, 1203 /** 1204 * The cell is in a row that is expanded 1205 */ 1206 EXPANDED = 64, 1207 } 1208 alias GtkCellRendererState CellRendererState; 1209 1210 /** 1211 * The widget attributes that can be used when creating a [class@Constraint]. 1212 */ 1213 public enum GtkConstraintAttribute 1214 { 1215 /** 1216 * No attribute, used for constant 1217 * relations 1218 */ 1219 NONE = 0, 1220 /** 1221 * The left edge of a widget, regardless of 1222 * text direction 1223 */ 1224 LEFT = 1, 1225 /** 1226 * The right edge of a widget, regardless 1227 * of text direction 1228 */ 1229 RIGHT = 2, 1230 /** 1231 * The top edge of a widget 1232 */ 1233 TOP = 3, 1234 /** 1235 * The bottom edge of a widget 1236 */ 1237 BOTTOM = 4, 1238 /** 1239 * The leading edge of a widget, depending 1240 * on text direction; equivalent to %GTK_CONSTRAINT_ATTRIBUTE_LEFT for LTR 1241 * languages, and %GTK_CONSTRAINT_ATTRIBUTE_RIGHT for RTL ones 1242 */ 1243 START = 5, 1244 /** 1245 * The trailing edge of a widget, depending 1246 * on text direction; equivalent to %GTK_CONSTRAINT_ATTRIBUTE_RIGHT for LTR 1247 * languages, and %GTK_CONSTRAINT_ATTRIBUTE_LEFT for RTL ones 1248 */ 1249 END = 6, 1250 /** 1251 * The width of a widget 1252 */ 1253 WIDTH = 7, 1254 /** 1255 * The height of a widget 1256 */ 1257 HEIGHT = 8, 1258 /** 1259 * The center of a widget, on the 1260 * horizontal axis 1261 */ 1262 CENTER_X = 9, 1263 /** 1264 * The center of a widget, on the 1265 * vertical axis 1266 */ 1267 CENTER_Y = 10, 1268 /** 1269 * The baseline of a widget 1270 */ 1271 BASELINE = 11, 1272 } 1273 alias GtkConstraintAttribute ConstraintAttribute; 1274 1275 /** 1276 * The relation between two terms of a constraint. 1277 */ 1278 public enum GtkConstraintRelation 1279 { 1280 /** 1281 * Less than, or equal 1282 */ 1283 LE = -1, 1284 /** 1285 * Equal 1286 */ 1287 EQ = 0, 1288 /** 1289 * Greater than, or equal 1290 */ 1291 GE = 1, 1292 } 1293 alias GtkConstraintRelation ConstraintRelation; 1294 1295 /** 1296 * The strength of a constraint, expressed as a symbolic constant. 1297 * 1298 * The strength of a [class@Constraint] can be expressed with any positive 1299 * integer; the values of this enumeration can be used for readability. 1300 */ 1301 public enum GtkConstraintStrength 1302 { 1303 /** 1304 * The constraint is required towards solving the layout 1305 */ 1306 REQUIRED = 1001001000, 1307 /** 1308 * A strong constraint 1309 */ 1310 STRONG = 1000000000, 1311 /** 1312 * A medium constraint 1313 */ 1314 MEDIUM = 1000, 1315 /** 1316 * A weak constraint 1317 */ 1318 WEAK = 1, 1319 } 1320 alias GtkConstraintStrength ConstraintStrength; 1321 1322 /** 1323 * Domain for VFL parsing errors. 1324 */ 1325 public enum GtkConstraintVflParserError 1326 { 1327 /** 1328 * Invalid or unknown symbol 1329 */ 1330 SYMBOL = 0, 1331 /** 1332 * Invalid or unknown attribute 1333 */ 1334 ATTRIBUTE = 1, 1335 /** 1336 * Invalid or unknown view 1337 */ 1338 VIEW = 2, 1339 /** 1340 * Invalid or unknown metric 1341 */ 1342 METRIC = 3, 1343 /** 1344 * Invalid or unknown priority 1345 */ 1346 PRIORITY = 4, 1347 /** 1348 * Invalid or unknown relation 1349 */ 1350 RELATION = 5, 1351 } 1352 alias GtkConstraintVflParserError ConstraintVflParserError; 1353 1354 /** 1355 * Specifies which corner a child widget should be placed in when packed into 1356 * a `GtkScrolledWindow.` 1357 * 1358 * This is effectively the opposite of where the scroll bars are placed. 1359 */ 1360 public enum GtkCornerType 1361 { 1362 /** 1363 * Place the scrollbars on the right and bottom of the 1364 * widget (default behaviour). 1365 */ 1366 TOP_LEFT = 0, 1367 /** 1368 * Place the scrollbars on the top and right of the 1369 * widget. 1370 */ 1371 BOTTOM_LEFT = 1, 1372 /** 1373 * Place the scrollbars on the left and bottom of the 1374 * widget. 1375 */ 1376 TOP_RIGHT = 2, 1377 /** 1378 * Place the scrollbars on the top and left of the 1379 * widget. 1380 */ 1381 BOTTOM_RIGHT = 3, 1382 } 1383 alias GtkCornerType CornerType; 1384 1385 /** 1386 * Errors that can occur while parsing CSS. 1387 * 1388 * These errors are unexpected and will cause parts of the given CSS 1389 * to be ignored. 1390 */ 1391 public enum GtkCssParserError 1392 { 1393 /** 1394 * Unknown failure. 1395 */ 1396 FAILED = 0, 1397 /** 1398 * The given text does not form valid syntax 1399 */ 1400 SYNTAX = 1, 1401 /** 1402 * Failed to import a resource 1403 */ 1404 IMPORT = 2, 1405 /** 1406 * The given name has not been defined 1407 */ 1408 NAME = 3, 1409 /** 1410 * The given value is not correct 1411 */ 1412 UNKNOWN_VALUE = 4, 1413 } 1414 alias GtkCssParserError CssParserError; 1415 1416 /** 1417 * Warnings that can occur while parsing CSS. 1418 * 1419 * Unlike `GtkCssParserError`s, warnings do not cause the parser to 1420 * skip any input, but they indicate issues that should be fixed. 1421 */ 1422 public enum GtkCssParserWarning 1423 { 1424 /** 1425 * The given construct is 1426 * deprecated and will be removed in a future version 1427 */ 1428 DEPRECATED = 0, 1429 /** 1430 * A syntax construct was used 1431 * that should be avoided 1432 */ 1433 SYNTAX = 1, 1434 /** 1435 * A feature is not implemented 1436 */ 1437 UNIMPLEMENTED = 2, 1438 } 1439 alias GtkCssParserWarning CssParserWarning; 1440 1441 /** 1442 * Flags to use with gtk_set_debug_flags(). 1443 * 1444 * Settings these flags causes GTK to print out different 1445 * types of debugging information. Some of these flags are 1446 * only available when GTK has been configured with `-Ddebug=true`. 1447 */ 1448 public enum GtkDebugFlags 1449 { 1450 /** 1451 * Information about GtkTextView 1452 */ 1453 TEXT = 1, 1454 /** 1455 * Information about GtkTreeView 1456 */ 1457 TREE = 2, 1458 /** 1459 * Information about keyboard shortcuts 1460 */ 1461 KEYBINDINGS = 4, 1462 /** 1463 * Information about modules and extensions 1464 */ 1465 MODULES = 8, 1466 /** 1467 * Information about size allocation 1468 */ 1469 GEOMETRY = 16, 1470 /** 1471 * Information about icon themes 1472 */ 1473 ICONTHEME = 32, 1474 /** 1475 * Information about printing 1476 */ 1477 PRINTING = 64, 1478 /** 1479 * Trace GtkBuilder operation 1480 */ 1481 BUILDER = 128, 1482 /** 1483 * Information about size requests 1484 */ 1485 SIZE_REQUEST = 256, 1486 /** 1487 * Disable the style property cache 1488 */ 1489 NO_CSS_CACHE = 512, 1490 /** 1491 * Open the GTK inspector 1492 */ 1493 INTERACTIVE = 1024, 1494 /** 1495 * Pretend the pointer is a touchscreen 1496 */ 1497 TOUCHSCREEN = 2048, 1498 /** 1499 * Information about actions and menu models 1500 */ 1501 ACTIONS = 4096, 1502 /** 1503 * Information from layout managers 1504 */ 1505 LAYOUT = 8192, 1506 /** 1507 * Include debug render nodes in the generated snapshots 1508 */ 1509 SNAPSHOT = 16384, 1510 /** 1511 * Information from the constraints solver 1512 */ 1513 CONSTRAINTS = 32768, 1514 /** 1515 * Log unused GtkBuilder objects 1516 */ 1517 BUILDER_OBJECTS = 65536, 1518 /** 1519 * Information about accessibility state changes 1520 */ 1521 A11Y = 131072, 1522 /** 1523 * Information about icon fallback. Since: 4.2 1524 */ 1525 ICONFALLBACK = 262144, 1526 } 1527 alias GtkDebugFlags DebugFlags; 1528 1529 /** 1530 * Passed to various keybinding signals for deleting text. 1531 */ 1532 public enum GtkDeleteType 1533 { 1534 /** 1535 * Delete characters. 1536 */ 1537 CHARS = 0, 1538 /** 1539 * Delete only the portion of the word to the 1540 * left/right of cursor if we’re in the middle of a word. 1541 */ 1542 WORD_ENDS = 1, 1543 /** 1544 * Delete words. 1545 */ 1546 WORDS = 2, 1547 /** 1548 * Delete display-lines. Display-lines 1549 * refers to the visible lines, with respect to the current line 1550 * breaks. As opposed to paragraphs, which are defined by line 1551 * breaks in the input. 1552 */ 1553 DISPLAY_LINES = 3, 1554 /** 1555 * Delete only the portion of the 1556 * display-line to the left/right of cursor. 1557 */ 1558 DISPLAY_LINE_ENDS = 4, 1559 /** 1560 * Delete to the end of the 1561 * paragraph. Like C-k in Emacs (or its reverse). 1562 */ 1563 PARAGRAPH_ENDS = 5, 1564 /** 1565 * Delete entire line. Like C-k in pico. 1566 */ 1567 PARAGRAPHS = 6, 1568 /** 1569 * Delete only whitespace. Like M-\ in Emacs. 1570 */ 1571 WHITESPACE = 7, 1572 } 1573 alias GtkDeleteType DeleteType; 1574 1575 /** 1576 * Flags used to influence dialog construction. 1577 */ 1578 public enum GtkDialogFlags 1579 { 1580 /** 1581 * Make the constructed dialog modal 1582 */ 1583 MODAL = 1, 1584 /** 1585 * Destroy the dialog when its parent is destroyed 1586 */ 1587 DESTROY_WITH_PARENT = 2, 1588 /** 1589 * Create dialog with actions in header 1590 * bar instead of action area 1591 */ 1592 USE_HEADER_BAR = 4, 1593 } 1594 alias GtkDialogFlags DialogFlags; 1595 1596 /** 1597 * Focus movement types. 1598 */ 1599 public enum GtkDirectionType 1600 { 1601 /** 1602 * Move forward. 1603 */ 1604 TAB_FORWARD = 0, 1605 /** 1606 * Move backward. 1607 */ 1608 TAB_BACKWARD = 1, 1609 /** 1610 * Move up. 1611 */ 1612 UP = 2, 1613 /** 1614 * Move down. 1615 */ 1616 DOWN = 3, 1617 /** 1618 * Move left. 1619 */ 1620 LEFT = 4, 1621 /** 1622 * Move right. 1623 */ 1624 RIGHT = 5, 1625 } 1626 alias GtkDirectionType DirectionType; 1627 1628 /** 1629 * The identifiers for [iface@Gtk.Editable] properties. 1630 * 1631 * See [func@Gtk.Editable.install_properties] for details on how to 1632 * implement the `GtkEditable` interface. 1633 */ 1634 public enum GtkEditableProperties 1635 { 1636 /** 1637 * the property id for [property@Gtk.Editable:text] 1638 */ 1639 PROP_TEXT = 0, 1640 /** 1641 * the property id for [property@Gtk.Editable:cursor-position] 1642 */ 1643 PROP_CURSOR_POSITION = 1, 1644 /** 1645 * the property id for [property@Gtk.Editable:selection-bound] 1646 */ 1647 PROP_SELECTION_BOUND = 2, 1648 /** 1649 * the property id for [property@Gtk.Editable:editable] 1650 */ 1651 PROP_EDITABLE = 3, 1652 /** 1653 * the property id for [property@Gtk.Editable:width-chars] 1654 */ 1655 PROP_WIDTH_CHARS = 4, 1656 /** 1657 * the property id for [property@Gtk.Editable:max-width-chars] 1658 */ 1659 PROP_MAX_WIDTH_CHARS = 5, 1660 /** 1661 * the property id for [property@Gtk.Editable:xalign] 1662 */ 1663 PROP_XALIGN = 6, 1664 /** 1665 * the property id for [property@Gtk.Editable:enable-undo] 1666 */ 1667 PROP_ENABLE_UNDO = 7, 1668 /** 1669 * the number of properties 1670 */ 1671 NUM_PROPERTIES = 8, 1672 } 1673 alias GtkEditableProperties EditableProperties; 1674 1675 /** 1676 * Specifies the side of the entry at which an icon is placed. 1677 */ 1678 public enum GtkEntryIconPosition 1679 { 1680 /** 1681 * At the beginning of the entry (depending on the text direction). 1682 */ 1683 PRIMARY = 0, 1684 /** 1685 * At the end of the entry (depending on the text direction). 1686 */ 1687 SECONDARY = 1, 1688 } 1689 alias GtkEntryIconPosition EntryIconPosition; 1690 1691 /** 1692 * Describes the behavior of a `GtkEventControllerScroll`. 1693 */ 1694 public enum GtkEventControllerScrollFlags 1695 { 1696 /** 1697 * Don't emit scroll. 1698 */ 1699 NONE = 0, 1700 /** 1701 * Emit scroll with vertical deltas. 1702 */ 1703 VERTICAL = 1, 1704 /** 1705 * Emit scroll with horizontal deltas. 1706 */ 1707 HORIZONTAL = 2, 1708 /** 1709 * Only emit deltas that are multiples of 1. 1710 */ 1711 DISCRETE = 4, 1712 /** 1713 * Emit ::decelerate after continuous scroll finishes. 1714 */ 1715 KINETIC = 8, 1716 /** 1717 * Emit scroll on both axes. 1718 */ 1719 BOTH_AXES = 3, 1720 } 1721 alias GtkEventControllerScrollFlags EventControllerScrollFlags; 1722 1723 /** 1724 * Describes the state of a [struct@Gdk.EventSequence] in a [class@Gesture]. 1725 */ 1726 public enum GtkEventSequenceState 1727 { 1728 /** 1729 * The sequence is handled, but not grabbed. 1730 */ 1731 NONE = 0, 1732 /** 1733 * The sequence is handled and grabbed. 1734 */ 1735 CLAIMED = 1, 1736 /** 1737 * The sequence is denied. 1738 */ 1739 DENIED = 2, 1740 } 1741 alias GtkEventSequenceState EventSequenceState; 1742 1743 /** 1744 * Describes whether a `GtkFileChooser` is being used to open existing files 1745 * or to save to a possibly new file. 1746 */ 1747 public enum GtkFileChooserAction 1748 { 1749 /** 1750 * Indicates open mode. The file chooser 1751 * will only let the user pick an existing file. 1752 */ 1753 OPEN = 0, 1754 /** 1755 * Indicates save mode. The file chooser 1756 * will let the user pick an existing file, or type in a new 1757 * filename. 1758 */ 1759 SAVE = 1, 1760 /** 1761 * Indicates an Open mode for 1762 * selecting folders. The file chooser will let the user pick an 1763 * existing folder. 1764 */ 1765 SELECT_FOLDER = 2, 1766 } 1767 alias GtkFileChooserAction FileChooserAction; 1768 1769 /** 1770 * These identify the various errors that can occur while calling 1771 * `GtkFileChooser` functions. 1772 */ 1773 public enum GtkFileChooserError 1774 { 1775 /** 1776 * Indicates that a file does not exist. 1777 */ 1778 NONEXISTENT = 0, 1779 /** 1780 * Indicates a malformed filename. 1781 */ 1782 BAD_FILENAME = 1, 1783 /** 1784 * Indicates a duplicate path (e.g. when 1785 * adding a bookmark). 1786 */ 1787 ALREADY_EXISTS = 2, 1788 /** 1789 * Indicates an incomplete hostname 1790 * (e.g. "http://foo" without a slash after that). 1791 */ 1792 INCOMPLETE_HOSTNAME = 3, 1793 } 1794 alias GtkFileChooserError FileChooserError; 1795 1796 /** 1797 * Describes changes in a filter in more detail and allows objects 1798 * using the filter to optimize refiltering items. 1799 * 1800 * If you are writing an implementation and are not sure which 1801 * value to pass, %GTK_FILTER_CHANGE_DIFFERENT is always a correct 1802 * choice. 1803 */ 1804 public enum GtkFilterChange 1805 { 1806 /** 1807 * The filter change cannot be 1808 * described with any of the other enumeration values. 1809 */ 1810 DIFFERENT = 0, 1811 /** 1812 * The filter is less strict than 1813 * it was before: All items that it used to return %TRUE for 1814 * still return %TRUE, others now may, too. 1815 */ 1816 LESS_STRICT = 1, 1817 /** 1818 * The filter is more strict than 1819 * it was before: All items that it used to return %FALSE for 1820 * still return %FALSE, others now may, too. 1821 */ 1822 MORE_STRICT = 2, 1823 } 1824 alias GtkFilterChange FilterChange; 1825 1826 /** 1827 * Describes the known strictness of a filter. 1828 * 1829 * Note that for filters where the strictness is not known, 1830 * %GTK_FILTER_MATCH_SOME is always an acceptable value, 1831 * even if a filter does match all or no items. 1832 */ 1833 public enum GtkFilterMatch 1834 { 1835 /** 1836 * The filter matches some items, 1837 * gtk_filter_match() may return %TRUE or %FALSE 1838 */ 1839 SOME = 0, 1840 /** 1841 * The filter does not match any item, 1842 * gtk_filter_match() will always return %FALSE. 1843 */ 1844 NONE = 1, 1845 /** 1846 * The filter matches all items, 1847 * gtk_filter_match() will alays return %TRUE. 1848 */ 1849 ALL = 2, 1850 } 1851 alias GtkFilterMatch FilterMatch; 1852 1853 /** 1854 * Specifies the granularity of font selection 1855 * that is desired in a `GtkFontChooser`. 1856 * 1857 * This enumeration may be extended in the future; applications should 1858 * ignore unknown values. 1859 */ 1860 public enum GtkFontChooserLevel 1861 { 1862 /** 1863 * Allow selecting a font family 1864 */ 1865 FAMILY = 0, 1866 /** 1867 * Allow selecting a specific font face 1868 */ 1869 STYLE = 1, 1870 /** 1871 * Allow selecting a specific font size 1872 */ 1873 SIZE = 2, 1874 /** 1875 * Allow changing OpenType font variation axes 1876 */ 1877 VARIATIONS = 4, 1878 /** 1879 * Allow selecting specific OpenType font features 1880 */ 1881 FEATURES = 8, 1882 } 1883 alias GtkFontChooserLevel FontChooserLevel; 1884 1885 /** 1886 * Used to specify options for gtk_icon_theme_lookup_icon(). 1887 */ 1888 public enum GtkIconLookupFlags 1889 { 1890 /** 1891 * Try to always load regular icons, even 1892 * when symbolic icon names are given 1893 */ 1894 FORCE_REGULAR = 1, 1895 /** 1896 * Try to always load symbolic icons, even 1897 * when regular icon names are given 1898 */ 1899 FORCE_SYMBOLIC = 2, 1900 /** 1901 * Starts loading the texture in the background 1902 * so it is ready when later needed. 1903 */ 1904 PRELOAD = 4, 1905 } 1906 alias GtkIconLookupFlags IconLookupFlags; 1907 1908 /** 1909 * Built-in icon sizes. 1910 * 1911 * Icon sizes default to being inherited. Where they cannot be 1912 * inherited, text size is the default. 1913 * 1914 * All widgets which use `GtkIconSize` set the normal-icons or 1915 * large-icons style classes correspondingly, and let themes 1916 * determine the actual size to be used with the 1917 * `-gtk-icon-size` CSS property. 1918 */ 1919 public enum GtkIconSize 1920 { 1921 /** 1922 * Keep the size of the parent element 1923 */ 1924 INHERIT = 0, 1925 /** 1926 * Size similar to text size 1927 */ 1928 NORMAL = 1, 1929 /** 1930 * Large size, for example in an icon view 1931 */ 1932 LARGE = 2, 1933 } 1934 alias GtkIconSize IconSize; 1935 1936 /** 1937 * Error codes for `GtkIconTheme` operations. 1938 */ 1939 public enum GtkIconThemeError 1940 { 1941 /** 1942 * The icon specified does not exist in the theme 1943 */ 1944 NOT_FOUND = 0, 1945 /** 1946 * An unspecified error occurred. 1947 */ 1948 FAILED = 1, 1949 } 1950 alias GtkIconThemeError IconThemeError; 1951 1952 /** 1953 * An enum for determining where a dropped item goes. 1954 */ 1955 public enum GtkIconViewDropPosition 1956 { 1957 /** 1958 * no drop possible 1959 */ 1960 NO_DROP = 0, 1961 /** 1962 * dropped item replaces the item 1963 */ 1964 DROP_INTO = 1, 1965 /** 1966 * dropped item is inserted to the left 1967 */ 1968 DROP_LEFT = 2, 1969 /** 1970 * dropped item is inserted to the right 1971 */ 1972 DROP_RIGHT = 3, 1973 /** 1974 * dropped item is inserted above 1975 */ 1976 DROP_ABOVE = 4, 1977 /** 1978 * dropped item is inserted below 1979 */ 1980 DROP_BELOW = 5, 1981 } 1982 alias GtkIconViewDropPosition IconViewDropPosition; 1983 1984 /** 1985 * Describes the image data representation used by a [class@Gtk.Image]. 1986 * 1987 * If you want to get the image from the widget, you can only get the 1988 * currently-stored representation; for instance, if the gtk_image_get_storage_type() 1989 * returns %GTK_IMAGE_PAINTABLE, then you can call gtk_image_get_paintable(). 1990 * 1991 * For empty images, you can request any storage type (call any of the "get" 1992 * functions), but they will all return %NULL values. 1993 */ 1994 public enum GtkImageType 1995 { 1996 /** 1997 * there is no image displayed by the widget 1998 */ 1999 EMPTY = 0, 2000 /** 2001 * the widget contains a named icon 2002 */ 2003 ICON_NAME = 1, 2004 /** 2005 * the widget contains a `GIcon` 2006 */ 2007 GICON = 2, 2008 /** 2009 * the widget contains a `GdkPaintable` 2010 */ 2011 PAINTABLE = 3, 2012 } 2013 alias GtkImageType ImageType; 2014 2015 /** 2016 * Describes hints that might be taken into account by input methods 2017 * or applications. 2018 * 2019 * Note that input methods may already tailor their behaviour according 2020 * to the [enum@InputPurpose] of the entry. 2021 * 2022 * Some common sense is expected when using these flags - mixing 2023 * %GTK_INPUT_HINT_LOWERCASE with any of the uppercase hints makes no sense. 2024 * 2025 * This enumeration may be extended in the future; input methods should 2026 * ignore unknown values. 2027 */ 2028 public enum GtkInputHints 2029 { 2030 /** 2031 * No special behaviour suggested 2032 */ 2033 NONE = 0, 2034 /** 2035 * Suggest checking for typos 2036 */ 2037 SPELLCHECK = 1, 2038 /** 2039 * Suggest not checking for typos 2040 */ 2041 NO_SPELLCHECK = 2, 2042 /** 2043 * Suggest word completion 2044 */ 2045 WORD_COMPLETION = 4, 2046 /** 2047 * Suggest to convert all text to lowercase 2048 */ 2049 LOWERCASE = 8, 2050 /** 2051 * Suggest to capitalize all text 2052 */ 2053 UPPERCASE_CHARS = 16, 2054 /** 2055 * Suggest to capitalize the first 2056 * character of each word 2057 */ 2058 UPPERCASE_WORDS = 32, 2059 /** 2060 * Suggest to capitalize the 2061 * first word of each sentence 2062 */ 2063 UPPERCASE_SENTENCES = 64, 2064 /** 2065 * Suggest to not show an onscreen keyboard 2066 * (e.g for a calculator that already has all the keys). 2067 */ 2068 INHIBIT_OSK = 128, 2069 /** 2070 * The text is vertical 2071 */ 2072 VERTICAL_WRITING = 256, 2073 /** 2074 * Suggest offering Emoji support 2075 */ 2076 EMOJI = 512, 2077 /** 2078 * Suggest not offering Emoji support 2079 */ 2080 NO_EMOJI = 1024, 2081 /** 2082 * Request that the input method should not 2083 * update personalized data (like typing history) 2084 */ 2085 PRIVATE = 2048, 2086 } 2087 alias GtkInputHints InputHints; 2088 2089 /** 2090 * Describes primary purpose of the input widget. 2091 * 2092 * This information is useful for on-screen keyboards and similar input 2093 * methods to decide which keys should be presented to the user. 2094 * 2095 * Note that the purpose is not meant to impose a totally strict rule 2096 * about allowed characters, and does not replace input validation. 2097 * It is fine for an on-screen keyboard to let the user override the 2098 * character set restriction that is expressed by the purpose. The 2099 * application is expected to validate the entry contents, even if 2100 * it specified a purpose. 2101 * 2102 * The difference between %GTK_INPUT_PURPOSE_DIGITS and 2103 * %GTK_INPUT_PURPOSE_NUMBER is that the former accepts only digits 2104 * while the latter also some punctuation (like commas or points, plus, 2105 * minus) and “e” or “E” as in 3.14E+000. 2106 * 2107 * This enumeration may be extended in the future; input methods should 2108 * interpret unknown values as “free form”. 2109 */ 2110 public enum GtkInputPurpose 2111 { 2112 /** 2113 * Allow any character 2114 */ 2115 FREE_FORM = 0, 2116 /** 2117 * Allow only alphabetic characters 2118 */ 2119 ALPHA = 1, 2120 /** 2121 * Allow only digits 2122 */ 2123 DIGITS = 2, 2124 /** 2125 * Edited field expects numbers 2126 */ 2127 NUMBER = 3, 2128 /** 2129 * Edited field expects phone number 2130 */ 2131 PHONE = 4, 2132 /** 2133 * Edited field expects URL 2134 */ 2135 URL = 5, 2136 /** 2137 * Edited field expects email address 2138 */ 2139 EMAIL = 6, 2140 /** 2141 * Edited field expects the name of a person 2142 */ 2143 NAME = 7, 2144 /** 2145 * Like %GTK_INPUT_PURPOSE_FREE_FORM, but characters are hidden 2146 */ 2147 PASSWORD = 8, 2148 /** 2149 * Like %GTK_INPUT_PURPOSE_DIGITS, but characters are hidden 2150 */ 2151 PIN = 9, 2152 /** 2153 * Allow any character, in addition to control codes 2154 */ 2155 TERMINAL = 10, 2156 } 2157 alias GtkInputPurpose InputPurpose; 2158 2159 /** 2160 * Used for justifying the text inside a [class@Label] widget. 2161 */ 2162 public enum GtkJustification 2163 { 2164 /** 2165 * The text is placed at the left edge of the label. 2166 */ 2167 LEFT = 0, 2168 /** 2169 * The text is placed at the right edge of the label. 2170 */ 2171 RIGHT = 1, 2172 /** 2173 * The text is placed in the center of the label. 2174 */ 2175 CENTER = 2, 2176 /** 2177 * The text is placed is distributed across the label. 2178 */ 2179 FILL = 3, 2180 } 2181 alias GtkJustification Justification; 2182 2183 /** 2184 * Describes how [class@LevelBar] contents should be rendered. 2185 * 2186 * Note that this enumeration could be extended with additional modes 2187 * in the future. 2188 */ 2189 public enum GtkLevelBarMode 2190 { 2191 /** 2192 * the bar has a continuous mode 2193 */ 2194 CONTINUOUS = 0, 2195 /** 2196 * the bar has a discrete mode 2197 */ 2198 DISCRETE = 1, 2199 } 2200 alias GtkLevelBarMode LevelBarMode; 2201 2202 /** 2203 * The type of license for an application. 2204 * 2205 * This enumeration can be expanded at later date. 2206 */ 2207 public enum GtkLicense 2208 { 2209 /** 2210 * No license specified 2211 */ 2212 UNKNOWN = 0, 2213 /** 2214 * A license text is going to be specified by the 2215 * developer 2216 */ 2217 CUSTOM = 1, 2218 /** 2219 * The GNU General Public License, version 2.0 or later 2220 */ 2221 GPL_2_0 = 2, 2222 /** 2223 * The GNU General Public License, version 3.0 or later 2224 */ 2225 GPL_3_0 = 3, 2226 /** 2227 * The GNU Lesser General Public License, version 2.1 or later 2228 */ 2229 LGPL_2_1 = 4, 2230 /** 2231 * The GNU Lesser General Public License, version 3.0 or later 2232 */ 2233 LGPL_3_0 = 5, 2234 /** 2235 * The BSD standard license 2236 */ 2237 BSD = 6, 2238 /** 2239 * The MIT/X11 standard license 2240 */ 2241 MIT_X11 = 7, 2242 /** 2243 * The Artistic License, version 2.0 2244 */ 2245 ARTISTIC = 8, 2246 /** 2247 * The GNU General Public License, version 2.0 only 2248 */ 2249 GPL_2_0_ONLY = 9, 2250 /** 2251 * The GNU General Public License, version 3.0 only 2252 */ 2253 GPL_3_0_ONLY = 10, 2254 /** 2255 * The GNU Lesser General Public License, version 2.1 only 2256 */ 2257 LGPL_2_1_ONLY = 11, 2258 /** 2259 * The GNU Lesser General Public License, version 3.0 only 2260 */ 2261 LGPL_3_0_ONLY = 12, 2262 /** 2263 * The GNU Affero General Public License, version 3.0 or later 2264 */ 2265 AGPL_3_0 = 13, 2266 /** 2267 * The GNU Affero General Public License, version 3.0 only 2268 */ 2269 AGPL_3_0_ONLY = 14, 2270 /** 2271 * The 3-clause BSD licence 2272 */ 2273 BSD_3 = 15, 2274 /** 2275 * The Apache License, version 2.0 2276 */ 2277 APACHE_2_0 = 16, 2278 /** 2279 * The Mozilla Public License, version 2.0 2280 */ 2281 MPL_2_0 = 17, 2282 } 2283 alias GtkLicense License; 2284 2285 /** 2286 * The type of message being displayed in a [class@MessageDialog]. 2287 */ 2288 public enum GtkMessageType : uint 2289 { 2290 /** 2291 * Informational message 2292 */ 2293 INFO = 0, 2294 /** 2295 * Non-fatal warning message 2296 */ 2297 WARNING = 1, 2298 /** 2299 * Question requiring a choice 2300 */ 2301 QUESTION = 2, 2302 /** 2303 * Fatal error message 2304 */ 2305 ERROR = 3, 2306 /** 2307 * None of the above 2308 */ 2309 OTHER = 4, 2310 } 2311 alias GtkMessageType MessageType; 2312 2313 /** 2314 * Passed as argument to various keybinding signals for moving the 2315 * cursor position. 2316 */ 2317 public enum GtkMovementStep 2318 { 2319 /** 2320 * Move forward or back by graphemes 2321 */ 2322 LOGICAL_POSITIONS = 0, 2323 /** 2324 * Move left or right by graphemes 2325 */ 2326 VISUAL_POSITIONS = 1, 2327 /** 2328 * Move forward or back by words 2329 */ 2330 WORDS = 2, 2331 /** 2332 * Move up or down lines (wrapped lines) 2333 */ 2334 DISPLAY_LINES = 3, 2335 /** 2336 * Move to either end of a line 2337 */ 2338 DISPLAY_LINE_ENDS = 4, 2339 /** 2340 * Move up or down paragraphs (newline-ended lines) 2341 */ 2342 PARAGRAPHS = 5, 2343 /** 2344 * Move to either end of a paragraph 2345 */ 2346 PARAGRAPH_ENDS = 6, 2347 /** 2348 * Move by pages 2349 */ 2350 PAGES = 7, 2351 /** 2352 * Move to ends of the buffer 2353 */ 2354 BUFFER_ENDS = 8, 2355 /** 2356 * Move horizontally by pages 2357 */ 2358 HORIZONTAL_PAGES = 9, 2359 } 2360 alias GtkMovementStep MovementStep; 2361 2362 /** 2363 * Options for selecting a different wrap mode for natural size 2364 * requests. 2365 * 2366 * See for example the [property@Gtk.Label:natural-wrap-mode] property. 2367 * 2368 * Since: 4.6 2369 */ 2370 public enum GtkNaturalWrapMode 2371 { 2372 /** 2373 * Inherit the minimum size request. 2374 * In particular, this should be used with %PANGO_WRAP_CHAR. 2375 */ 2376 INHERIT = 0, 2377 /** 2378 * Try not to wrap the text. This mode is the 2379 * closest to GTK3's behavior but can lead to a wide label leaving 2380 * lots of empty space below the text. 2381 */ 2382 NONE = 1, 2383 /** 2384 * Attempt to wrap at word boundaries. This 2385 * is useful in particular when using %PANGO_WRAP_WORD_CHAR as the 2386 * wrap mode. 2387 */ 2388 WORD = 2, 2389 } 2390 alias GtkNaturalWrapMode NaturalWrapMode; 2391 2392 /** 2393 * The parameter used in the action signals of `GtkNotebook`. 2394 */ 2395 public enum GtkNotebookTab 2396 { 2397 /** 2398 * the first tab in the notebook 2399 */ 2400 FIRST = 0, 2401 /** 2402 * the last tab in the notebook 2403 */ 2404 LAST = 1, 2405 } 2406 alias GtkNotebookTab NotebookTab; 2407 2408 /** 2409 * Used to determine the layout of pages on a sheet when printing 2410 * multiple pages per sheet. 2411 */ 2412 public enum GtkNumberUpLayout 2413 { 2414 /** 2415 *  2416 */ 2417 LRTB = 0, 2418 /** 2419 *  2420 */ 2421 LRBT = 1, 2422 /** 2423 *  2424 */ 2425 RLTB = 2, 2426 /** 2427 *  2428 */ 2429 RLBT = 3, 2430 /** 2431 *  2432 */ 2433 TBLR = 4, 2434 /** 2435 *  2436 */ 2437 TBRL = 5, 2438 /** 2439 *  2440 */ 2441 BTLR = 6, 2442 /** 2443 *  2444 */ 2445 BTRL = 7, 2446 } 2447 alias GtkNumberUpLayout NumberUpLayout; 2448 2449 /** 2450 * Describes the way two values can be compared. 2451 * 2452 * These values can be used with a [callback@GLib.CompareFunc]. However, 2453 * a `GCompareFunc` is allowed to return any integer values. 2454 * For converting such a value to a `GtkOrdering` value, use 2455 * [func@Gtk.Ordering.from_cmpfunc]. 2456 */ 2457 public enum GtkOrdering 2458 { 2459 /** 2460 * the first value is smaller than the second 2461 */ 2462 SMALLER = -1, 2463 /** 2464 * the two values are equal 2465 */ 2466 EQUAL = 0, 2467 /** 2468 * the first value is larger than the second 2469 */ 2470 LARGER = 1, 2471 } 2472 alias GtkOrdering Ordering; 2473 2474 /** 2475 * Represents the orientation of widgets and other objects. 2476 * 2477 * Typical examples are [class@Box] or [class@GesturePan]. 2478 */ 2479 public enum GtkOrientation 2480 { 2481 /** 2482 * The element is in horizontal orientation. 2483 */ 2484 HORIZONTAL = 0, 2485 /** 2486 * The element is in vertical orientation. 2487 */ 2488 VERTICAL = 1, 2489 } 2490 alias GtkOrientation Orientation; 2491 2492 /** 2493 * Defines how content overflowing a given area should be handled. 2494 * 2495 * This is used in [method@Gtk.Widget.set_overflow]. The 2496 * [property@Gtk.Widget:overflow] property is modeled after the 2497 * CSS overflow property, but implements it only partially. 2498 */ 2499 public enum GtkOverflow 2500 { 2501 /** 2502 * No change is applied. Content is drawn at the specified 2503 * position. 2504 */ 2505 VISIBLE = 0, 2506 /** 2507 * Content is clipped to the bounds of the area. Content 2508 * outside the area is not drawn and cannot be interacted with. 2509 */ 2510 HIDDEN = 1, 2511 } 2512 alias GtkOverflow Overflow; 2513 2514 /** 2515 * Represents the packing location of a children in its parent. 2516 * 2517 * See [class@WindowControls] for example. 2518 */ 2519 public enum GtkPackType 2520 { 2521 /** 2522 * The child is packed into the start of the widget 2523 */ 2524 START = 0, 2525 /** 2526 * The child is packed into the end of the widget 2527 */ 2528 END = 1, 2529 } 2530 alias GtkPackType PackType; 2531 2532 /** 2533 * The type of a pad action. 2534 */ 2535 public enum GtkPadActionType 2536 { 2537 /** 2538 * Action is triggered by a pad button 2539 */ 2540 BUTTON = 0, 2541 /** 2542 * Action is triggered by a pad ring 2543 */ 2544 RING = 1, 2545 /** 2546 * Action is triggered by a pad strip 2547 */ 2548 STRIP = 2, 2549 } 2550 alias GtkPadActionType PadActionType; 2551 2552 /** 2553 * See also gtk_print_settings_set_orientation(). 2554 */ 2555 public enum GtkPageOrientation 2556 { 2557 /** 2558 * Portrait mode. 2559 */ 2560 PORTRAIT = 0, 2561 /** 2562 * Landscape mode. 2563 */ 2564 LANDSCAPE = 1, 2565 /** 2566 * Reverse portrait mode. 2567 */ 2568 REVERSE_PORTRAIT = 2, 2569 /** 2570 * Reverse landscape mode. 2571 */ 2572 REVERSE_LANDSCAPE = 3, 2573 } 2574 alias GtkPageOrientation PageOrientation; 2575 2576 /** 2577 * See also gtk_print_job_set_page_set(). 2578 */ 2579 public enum GtkPageSet 2580 { 2581 /** 2582 * All pages. 2583 */ 2584 ALL = 0, 2585 /** 2586 * Even pages. 2587 */ 2588 EVEN = 1, 2589 /** 2590 * Odd pages. 2591 */ 2592 ODD = 2, 2593 } 2594 alias GtkPageSet PageSet; 2595 2596 /** 2597 * Describes the panning direction of a [class@GesturePan]. 2598 */ 2599 public enum GtkPanDirection 2600 { 2601 /** 2602 * panned towards the left 2603 */ 2604 LEFT = 0, 2605 /** 2606 * panned towards the right 2607 */ 2608 RIGHT = 1, 2609 /** 2610 * panned upwards 2611 */ 2612 UP = 2, 2613 /** 2614 * panned downwards 2615 */ 2616 DOWN = 3, 2617 } 2618 alias GtkPanDirection PanDirection; 2619 2620 /** 2621 * Flags that influence the behavior of [method@Widget.pick]. 2622 */ 2623 public enum GtkPickFlags 2624 { 2625 /** 2626 * The default behavior, include widgets that are receiving events 2627 */ 2628 DEFAULT = 0, 2629 /** 2630 * Include widgets that are insensitive 2631 */ 2632 INSENSITIVE = 1, 2633 /** 2634 * Include widgets that are marked as non-targetable. See [property@Widget:can-target] 2635 */ 2636 NON_TARGETABLE = 2, 2637 } 2638 alias GtkPickFlags PickFlags; 2639 2640 /** 2641 * Determines how the size should be computed to achieve the one of the 2642 * visibility mode for the scrollbars. 2643 */ 2644 public enum GtkPolicyType 2645 { 2646 /** 2647 * The scrollbar is always visible. The view size is 2648 * independent of the content. 2649 */ 2650 ALWAYS = 0, 2651 /** 2652 * The scrollbar will appear and disappear as necessary. 2653 * For example, when all of a `GtkTreeView` can not be seen. 2654 */ 2655 AUTOMATIC = 1, 2656 /** 2657 * The scrollbar should never appear. In this mode the 2658 * content determines the size. 2659 */ 2660 NEVER = 2, 2661 /** 2662 * Don't show a scrollbar, but don't force the 2663 * size to follow the content. This can be used e.g. to make multiple 2664 * scrolled windows share a scrollbar. 2665 */ 2666 EXTERNAL = 3, 2667 } 2668 alias GtkPolicyType PolicyType; 2669 2670 /** 2671 * Flags that affect how popover menus are created from 2672 * a menu model. 2673 */ 2674 public enum GtkPopoverMenuFlags 2675 { 2676 /** 2677 * Create submenus as nested 2678 * popovers. Without this flag, submenus are created as 2679 * sliding pages that replace the main menu. 2680 */ 2681 NESTED = 1, 2682 } 2683 alias GtkPopoverMenuFlags PopoverMenuFlags; 2684 2685 /** 2686 * Describes which edge of a widget a certain feature is positioned at. 2687 * 2688 * For examples, see the tabs of a [class@Notebook], or the label 2689 * of a [class@Scale]. 2690 */ 2691 public enum GtkPositionType 2692 { 2693 /** 2694 * The feature is at the left edge. 2695 */ 2696 LEFT = 0, 2697 /** 2698 * The feature is at the right edge. 2699 */ 2700 RIGHT = 1, 2701 /** 2702 * The feature is at the top edge. 2703 */ 2704 TOP = 2, 2705 /** 2706 * The feature is at the bottom edge. 2707 */ 2708 BOTTOM = 3, 2709 } 2710 alias GtkPositionType PositionType; 2711 2712 /** 2713 * Specifies which features the print dialog should offer. 2714 * 2715 * If neither %GTK_PRINT_CAPABILITY_GENERATE_PDF nor 2716 * %GTK_PRINT_CAPABILITY_GENERATE_PS is specified, GTK assumes that all 2717 * formats are supported. 2718 */ 2719 public enum GtkPrintCapabilities 2720 { 2721 /** 2722 * Print dialog will offer printing even/odd pages. 2723 */ 2724 PAGE_SET = 1, 2725 /** 2726 * Print dialog will allow to print multiple copies. 2727 */ 2728 COPIES = 2, 2729 /** 2730 * Print dialog will allow to collate multiple copies. 2731 */ 2732 COLLATE = 4, 2733 /** 2734 * Print dialog will allow to print pages in reverse order. 2735 */ 2736 REVERSE = 8, 2737 /** 2738 * Print dialog will allow to scale the output. 2739 */ 2740 SCALE = 16, 2741 /** 2742 * The program will send the document to 2743 * the printer in PDF format 2744 */ 2745 GENERATE_PDF = 32, 2746 /** 2747 * The program will send the document to 2748 * the printer in Postscript format 2749 */ 2750 GENERATE_PS = 64, 2751 /** 2752 * Print dialog will offer a preview 2753 */ 2754 PREVIEW = 128, 2755 /** 2756 * Print dialog will offer printing multiple 2757 * pages per sheet 2758 */ 2759 NUMBER_UP = 256, 2760 /** 2761 * Print dialog will allow to rearrange 2762 * pages when printing multiple pages per sheet 2763 */ 2764 NUMBER_UP_LAYOUT = 512, 2765 } 2766 alias GtkPrintCapabilities PrintCapabilities; 2767 2768 /** 2769 * See also gtk_print_settings_set_duplex(). 2770 */ 2771 public enum GtkPrintDuplex 2772 { 2773 /** 2774 * No duplex. 2775 */ 2776 SIMPLEX = 0, 2777 /** 2778 * Horizontal duplex. 2779 */ 2780 HORIZONTAL = 1, 2781 /** 2782 * Vertical duplex. 2783 */ 2784 VERTICAL = 2, 2785 } 2786 alias GtkPrintDuplex PrintDuplex; 2787 2788 /** 2789 * Error codes that identify various errors that can occur while 2790 * using the GTK printing support. 2791 */ 2792 public enum GtkPrintError 2793 { 2794 /** 2795 * An unspecified error occurred. 2796 */ 2797 GENERAL = 0, 2798 /** 2799 * An internal error occurred. 2800 */ 2801 INTERNAL_ERROR = 1, 2802 /** 2803 * A memory allocation failed. 2804 */ 2805 NOMEM = 2, 2806 /** 2807 * An error occurred while loading a page setup 2808 * or paper size from a key file. 2809 */ 2810 INVALID_FILE = 3, 2811 } 2812 alias GtkPrintError PrintError; 2813 2814 /** 2815 * Determines what action the print operation should perform. 2816 * 2817 * A parameter of this typs is passed to [method@Gtk.PrintOperation.run]. 2818 */ 2819 public enum GtkPrintOperationAction 2820 { 2821 /** 2822 * Show the print dialog. 2823 */ 2824 PRINT_DIALOG = 0, 2825 /** 2826 * Start to print without showing 2827 * the print dialog, based on the current print settings. 2828 */ 2829 PRINT = 1, 2830 /** 2831 * Show the print preview. 2832 */ 2833 PREVIEW = 2, 2834 /** 2835 * Export to a file. This requires 2836 * the export-filename property to be set. 2837 */ 2838 EXPORT = 3, 2839 } 2840 alias GtkPrintOperationAction PrintOperationAction; 2841 2842 /** 2843 * The result of a print operation. 2844 * 2845 * A value of this type is returned by [method@Gtk.PrintOperation.run]. 2846 */ 2847 public enum GtkPrintOperationResult 2848 { 2849 /** 2850 * An error has occurred. 2851 */ 2852 ERROR = 0, 2853 /** 2854 * The print settings should be stored. 2855 */ 2856 APPLY = 1, 2857 /** 2858 * The print operation has been canceled, 2859 * the print settings should not be stored. 2860 */ 2861 CANCEL = 2, 2862 /** 2863 * The print operation is not complete 2864 * yet. This value will only be returned when running asynchronously. 2865 */ 2866 IN_PROGRESS = 3, 2867 } 2868 alias GtkPrintOperationResult PrintOperationResult; 2869 2870 /** 2871 * See also gtk_print_job_set_pages() 2872 */ 2873 public enum GtkPrintPages 2874 { 2875 /** 2876 * All pages. 2877 */ 2878 ALL = 0, 2879 /** 2880 * Current page. 2881 */ 2882 CURRENT = 1, 2883 /** 2884 * Range of pages. 2885 */ 2886 RANGES = 2, 2887 /** 2888 * Selected pages. 2889 */ 2890 SELECTION = 3, 2891 } 2892 alias GtkPrintPages PrintPages; 2893 2894 /** 2895 * See also gtk_print_settings_set_quality(). 2896 */ 2897 public enum GtkPrintQuality 2898 { 2899 /** 2900 * Low quality. 2901 */ 2902 LOW = 0, 2903 /** 2904 * Normal quality. 2905 */ 2906 NORMAL = 1, 2907 /** 2908 * High quality. 2909 */ 2910 HIGH = 2, 2911 /** 2912 * Draft quality. 2913 */ 2914 DRAFT = 3, 2915 } 2916 alias GtkPrintQuality PrintQuality; 2917 2918 /** 2919 * The status gives a rough indication of the completion of a running 2920 * print operation. 2921 */ 2922 public enum GtkPrintStatus 2923 { 2924 /** 2925 * The printing has not started yet; this 2926 * status is set initially, and while the print dialog is shown. 2927 */ 2928 INITIAL = 0, 2929 /** 2930 * This status is set while the begin-print 2931 * signal is emitted and during pagination. 2932 */ 2933 PREPARING = 1, 2934 /** 2935 * This status is set while the 2936 * pages are being rendered. 2937 */ 2938 GENERATING_DATA = 2, 2939 /** 2940 * The print job is being sent off to the 2941 * printer. 2942 */ 2943 SENDING_DATA = 3, 2944 /** 2945 * The print job has been sent to the printer, 2946 * but is not printed for some reason, e.g. the printer may be stopped. 2947 */ 2948 PENDING = 4, 2949 /** 2950 * Some problem has occurred during 2951 * printing, e.g. a paper jam. 2952 */ 2953 PENDING_ISSUE = 5, 2954 /** 2955 * The printer is processing the print job. 2956 */ 2957 PRINTING = 6, 2958 /** 2959 * The printing has been completed successfully. 2960 */ 2961 FINISHED = 7, 2962 /** 2963 * The printing has been aborted. 2964 */ 2965 FINISHED_ABORTED = 8, 2966 } 2967 alias GtkPrintStatus PrintStatus; 2968 2969 /** 2970 * Describes limits of a [class@EventController] for handling events 2971 * targeting other widgets. 2972 */ 2973 public enum GtkPropagationLimit 2974 { 2975 /** 2976 * Events are handled regardless of what their 2977 * target is. 2978 */ 2979 NONE = 0, 2980 /** 2981 * Events are only handled if their target 2982 * is in the same [iface@Native] as the event controllers widget. Note 2983 * that some event types have two targets (origin and destination). 2984 */ 2985 SAME_NATIVE = 1, 2986 } 2987 alias GtkPropagationLimit PropagationLimit; 2988 2989 /** 2990 * Describes the stage at which events are fed into a [class@EventController]. 2991 */ 2992 public enum GtkPropagationPhase 2993 { 2994 /** 2995 * Events are not delivered. 2996 */ 2997 NONE = 0, 2998 /** 2999 * Events are delivered in the capture phase. The 3000 * capture phase happens before the bubble phase, runs from the toplevel down 3001 * to the event widget. This option should only be used on containers that 3002 * might possibly handle events before their children do. 3003 */ 3004 CAPTURE = 1, 3005 /** 3006 * Events are delivered in the bubble phase. The bubble 3007 * phase happens after the capture phase, and before the default handlers 3008 * are run. This phase runs from the event widget, up to the toplevel. 3009 */ 3010 BUBBLE = 2, 3011 /** 3012 * Events are delivered in the default widget event handlers, 3013 * note that widget implementations must chain up on button, motion, touch and 3014 * grab broken handlers for controllers in this phase to be run. 3015 */ 3016 TARGET = 3, 3017 } 3018 alias GtkPropagationPhase PropagationPhase; 3019 3020 /** 3021 * Error codes for `GtkRecentManager` operations 3022 */ 3023 public enum GtkRecentManagerError 3024 { 3025 /** 3026 * the URI specified does not exists in 3027 * the recently used resources list. 3028 */ 3029 NOT_FOUND = 0, 3030 /** 3031 * the URI specified is not valid. 3032 */ 3033 INVALID_URI = 1, 3034 /** 3035 * the supplied string is not 3036 * UTF-8 encoded. 3037 */ 3038 INVALID_ENCODING = 2, 3039 /** 3040 * no application has registered 3041 * the specified item. 3042 */ 3043 NOT_REGISTERED = 3, 3044 /** 3045 * failure while reading the recently used 3046 * resources file. 3047 */ 3048 READ = 4, 3049 /** 3050 * failure while writing the recently used 3051 * resources file. 3052 */ 3053 WRITE = 5, 3054 /** 3055 * unspecified error. 3056 */ 3057 UNKNOWN = 6, 3058 } 3059 alias GtkRecentManagerError RecentManagerError; 3060 3061 /** 3062 * Predefined values for use as response ids in gtk_dialog_add_button(). 3063 * 3064 * All predefined values are negative; GTK leaves values of 0 or greater for 3065 * application-defined response ids. 3066 */ 3067 public enum GtkResponseType 3068 { 3069 /** 3070 * Returned if an action widget has no response id, 3071 * or if the dialog gets programmatically hidden or destroyed 3072 */ 3073 NONE = -1, 3074 /** 3075 * Generic response id, not used by GTK dialogs 3076 */ 3077 REJECT = -2, 3078 /** 3079 * Generic response id, not used by GTK dialogs 3080 */ 3081 ACCEPT = -3, 3082 /** 3083 * Returned if the dialog is deleted 3084 */ 3085 DELETE_EVENT = -4, 3086 /** 3087 * Returned by OK buttons in GTK dialogs 3088 */ 3089 OK = -5, 3090 /** 3091 * Returned by Cancel buttons in GTK dialogs 3092 */ 3093 CANCEL = -6, 3094 /** 3095 * Returned by Close buttons in GTK dialogs 3096 */ 3097 CLOSE = -7, 3098 /** 3099 * Returned by Yes buttons in GTK dialogs 3100 */ 3101 YES = -8, 3102 /** 3103 * Returned by No buttons in GTK dialogs 3104 */ 3105 NO = -9, 3106 /** 3107 * Returned by Apply buttons in GTK dialogs 3108 */ 3109 APPLY = -10, 3110 /** 3111 * Returned by Help buttons in GTK dialogs 3112 */ 3113 HELP = -11, 3114 } 3115 alias GtkResponseType ResponseType; 3116 3117 /** 3118 * These enumeration values describe the possible transitions 3119 * when the child of a `GtkRevealer` widget is shown or hidden. 3120 */ 3121 public enum GtkRevealerTransitionType 3122 { 3123 /** 3124 * No transition 3125 */ 3126 NONE = 0, 3127 /** 3128 * Fade in 3129 */ 3130 CROSSFADE = 1, 3131 /** 3132 * Slide in from the left 3133 */ 3134 SLIDE_RIGHT = 2, 3135 /** 3136 * Slide in from the right 3137 */ 3138 SLIDE_LEFT = 3, 3139 /** 3140 * Slide in from the bottom 3141 */ 3142 SLIDE_UP = 4, 3143 /** 3144 * Slide in from the top 3145 */ 3146 SLIDE_DOWN = 5, 3147 /** 3148 * Floop in from the left 3149 */ 3150 SWING_RIGHT = 6, 3151 /** 3152 * Floop in from the right 3153 */ 3154 SWING_LEFT = 7, 3155 /** 3156 * Floop in from the bottom 3157 */ 3158 SWING_UP = 8, 3159 /** 3160 * Floop in from the top 3161 */ 3162 SWING_DOWN = 9, 3163 } 3164 alias GtkRevealerTransitionType RevealerTransitionType; 3165 3166 /** 3167 * Passed as argument to various keybinding signals. 3168 */ 3169 public enum GtkScrollStep 3170 { 3171 /** 3172 * Scroll in steps. 3173 */ 3174 STEPS = 0, 3175 /** 3176 * Scroll by pages. 3177 */ 3178 PAGES = 1, 3179 /** 3180 * Scroll to ends. 3181 */ 3182 ENDS = 2, 3183 /** 3184 * Scroll in horizontal steps. 3185 */ 3186 HORIZONTAL_STEPS = 3, 3187 /** 3188 * Scroll by horizontal pages. 3189 */ 3190 HORIZONTAL_PAGES = 4, 3191 /** 3192 * Scroll to the horizontal ends. 3193 */ 3194 HORIZONTAL_ENDS = 5, 3195 } 3196 alias GtkScrollStep ScrollStep; 3197 3198 /** 3199 * Scrolling types. 3200 */ 3201 public enum GtkScrollType 3202 { 3203 /** 3204 * No scrolling. 3205 */ 3206 NONE = 0, 3207 /** 3208 * Jump to new location. 3209 */ 3210 JUMP = 1, 3211 /** 3212 * Step backward. 3213 */ 3214 STEP_BACKWARD = 2, 3215 /** 3216 * Step forward. 3217 */ 3218 STEP_FORWARD = 3, 3219 /** 3220 * Page backward. 3221 */ 3222 PAGE_BACKWARD = 4, 3223 /** 3224 * Page forward. 3225 */ 3226 PAGE_FORWARD = 5, 3227 /** 3228 * Step up. 3229 */ 3230 STEP_UP = 6, 3231 /** 3232 * Step down. 3233 */ 3234 STEP_DOWN = 7, 3235 /** 3236 * Page up. 3237 */ 3238 PAGE_UP = 8, 3239 /** 3240 * Page down. 3241 */ 3242 PAGE_DOWN = 9, 3243 /** 3244 * Step to the left. 3245 */ 3246 STEP_LEFT = 10, 3247 /** 3248 * Step to the right. 3249 */ 3250 STEP_RIGHT = 11, 3251 /** 3252 * Page to the left. 3253 */ 3254 PAGE_LEFT = 12, 3255 /** 3256 * Page to the right. 3257 */ 3258 PAGE_RIGHT = 13, 3259 /** 3260 * Scroll to start. 3261 */ 3262 START = 14, 3263 /** 3264 * Scroll to end. 3265 */ 3266 END = 15, 3267 } 3268 alias GtkScrollType ScrollType; 3269 3270 /** 3271 * Defines the policy to be used in a scrollable widget when updating 3272 * the scrolled window adjustments in a given orientation. 3273 */ 3274 public enum GtkScrollablePolicy 3275 { 3276 /** 3277 * Scrollable adjustments are based on the minimum size 3278 */ 3279 MINIMUM = 0, 3280 /** 3281 * Scrollable adjustments are based on the natural size 3282 */ 3283 NATURAL = 1, 3284 } 3285 alias GtkScrollablePolicy ScrollablePolicy; 3286 3287 /** 3288 * Used to control what selections users are allowed to make. 3289 */ 3290 public enum GtkSelectionMode 3291 { 3292 /** 3293 * No selection is possible. 3294 */ 3295 NONE = 0, 3296 /** 3297 * Zero or one element may be selected. 3298 */ 3299 SINGLE = 1, 3300 /** 3301 * Exactly one element is selected. 3302 * In some circumstances, such as initially or during a search 3303 * operation, it’s possible for no element to be selected with 3304 * %GTK_SELECTION_BROWSE. What is really enforced is that the user 3305 * can’t deselect a currently selected element except by selecting 3306 * another element. 3307 */ 3308 BROWSE = 2, 3309 /** 3310 * Any number of elements may be selected. 3311 * The Ctrl key may be used to enlarge the selection, and Shift 3312 * key to select between the focus and the child pointed to. 3313 * Some widgets may also allow Click-drag to select a range of elements. 3314 */ 3315 MULTIPLE = 3, 3316 } 3317 alias GtkSelectionMode SelectionMode; 3318 3319 /** 3320 * Determines how GTK handles the sensitivity of various controls, 3321 * such as combo box buttons. 3322 */ 3323 public enum GtkSensitivityType 3324 { 3325 /** 3326 * The control is made insensitive if no 3327 * action can be triggered 3328 */ 3329 AUTO = 0, 3330 /** 3331 * The control is always sensitive 3332 */ 3333 ON = 1, 3334 /** 3335 * The control is always insensitive 3336 */ 3337 OFF = 2, 3338 } 3339 alias GtkSensitivityType SensitivityType; 3340 3341 /** 3342 * List of flags that can be passed to action activation. 3343 * 3344 * More flags may be added in the future. 3345 */ 3346 public enum GtkShortcutActionFlags 3347 { 3348 /** 3349 * The action is the only 3350 * action that can be activated. If this flag is not set, 3351 * a future activation may select a different action. 3352 */ 3353 EXCLUSIVE = 1, 3354 } 3355 alias GtkShortcutActionFlags ShortcutActionFlags; 3356 3357 /** 3358 * Describes where [class@Shortcut]s added to a 3359 * [class@ShortcutController] get handled. 3360 */ 3361 public enum GtkShortcutScope 3362 { 3363 /** 3364 * Shortcuts are handled inside 3365 * the widget the controller belongs to. 3366 */ 3367 LOCAL = 0, 3368 /** 3369 * Shortcuts are handled by 3370 * the first ancestor that is a [iface@ShortcutManager] 3371 */ 3372 MANAGED = 1, 3373 /** 3374 * Shortcuts are handled by 3375 * the root widget. 3376 */ 3377 GLOBAL = 2, 3378 } 3379 alias GtkShortcutScope ShortcutScope; 3380 3381 /** 3382 * GtkShortcutType specifies the kind of shortcut that is being described. 3383 * 3384 * More values may be added to this enumeration over time. 3385 */ 3386 public enum GtkShortcutType 3387 { 3388 /** 3389 * The shortcut is a keyboard accelerator. The GtkShortcutsShortcut:accelerator 3390 * property will be used. 3391 */ 3392 ACCELERATOR = 0, 3393 /** 3394 * The shortcut is a pinch gesture. GTK provides an icon and subtitle. 3395 */ 3396 GESTURE_PINCH = 1, 3397 /** 3398 * The shortcut is a stretch gesture. GTK provides an icon and subtitle. 3399 */ 3400 GESTURE_STRETCH = 2, 3401 /** 3402 * The shortcut is a clockwise rotation gesture. GTK provides an icon and subtitle. 3403 */ 3404 GESTURE_ROTATE_CLOCKWISE = 3, 3405 /** 3406 * The shortcut is a counterclockwise rotation gesture. GTK provides an icon and subtitle. 3407 */ 3408 GESTURE_ROTATE_COUNTERCLOCKWISE = 4, 3409 /** 3410 * The shortcut is a two-finger swipe gesture. GTK provides an icon and subtitle. 3411 */ 3412 GESTURE_TWO_FINGER_SWIPE_LEFT = 5, 3413 /** 3414 * The shortcut is a two-finger swipe gesture. GTK provides an icon and subtitle. 3415 */ 3416 GESTURE_TWO_FINGER_SWIPE_RIGHT = 6, 3417 /** 3418 * The shortcut is a gesture. The GtkShortcutsShortcut:icon property will be 3419 * used. 3420 */ 3421 GESTURE = 7, 3422 /** 3423 * The shortcut is a swipe gesture. GTK provides an icon and subtitle. 3424 */ 3425 GESTURE_SWIPE_LEFT = 8, 3426 /** 3427 * The shortcut is a swipe gesture. GTK provides an icon and subtitle. 3428 */ 3429 GESTURE_SWIPE_RIGHT = 9, 3430 } 3431 alias GtkShortcutType ShortcutType; 3432 3433 /** 3434 * The mode of the size group determines the directions in which the size 3435 * group affects the requested sizes of its component widgets. 3436 */ 3437 public enum GtkSizeGroupMode 3438 { 3439 /** 3440 * group has no effect 3441 */ 3442 NONE = 0, 3443 /** 3444 * group affects horizontal requisition 3445 */ 3446 HORIZONTAL = 1, 3447 /** 3448 * group affects vertical requisition 3449 */ 3450 VERTICAL = 2, 3451 /** 3452 * group affects both horizontal and vertical requisition 3453 */ 3454 BOTH = 3, 3455 } 3456 alias GtkSizeGroupMode SizeGroupMode; 3457 3458 /** 3459 * Specifies a preference for height-for-width or 3460 * width-for-height geometry management. 3461 */ 3462 public enum GtkSizeRequestMode 3463 { 3464 /** 3465 * Prefer height-for-width geometry management 3466 */ 3467 HEIGHT_FOR_WIDTH = 0, 3468 /** 3469 * Prefer width-for-height geometry management 3470 */ 3471 WIDTH_FOR_HEIGHT = 1, 3472 /** 3473 * Don’t trade height-for-width or width-for-height 3474 */ 3475 CONSTANT_SIZE = 2, 3476 } 3477 alias GtkSizeRequestMode SizeRequestMode; 3478 3479 /** 3480 * Determines the direction of a sort. 3481 */ 3482 public enum GtkSortType 3483 { 3484 /** 3485 * Sorting is in ascending order. 3486 */ 3487 ASCENDING = 0, 3488 /** 3489 * Sorting is in descending order. 3490 */ 3491 DESCENDING = 1, 3492 } 3493 alias GtkSortType SortType; 3494 3495 /** 3496 * Describes changes in a sorter in more detail and allows users 3497 * to optimize resorting. 3498 */ 3499 public enum GtkSorterChange 3500 { 3501 /** 3502 * The sorter change cannot be described 3503 * by any of the other enumeration values 3504 */ 3505 DIFFERENT = 0, 3506 /** 3507 * The sort order was inverted. Comparisons 3508 * that returned %GTK_ORDERING_SMALLER now return %GTK_ORDERING_LARGER 3509 * and vice versa. Other comparisons return the same values as before. 3510 */ 3511 INVERTED = 1, 3512 /** 3513 * The sorter is less strict: Comparisons 3514 * may now return %GTK_ORDERING_EQUAL that did not do so before. 3515 */ 3516 LESS_STRICT = 2, 3517 /** 3518 * The sorter is more strict: Comparisons 3519 * that did return %GTK_ORDERING_EQUAL may not do so anymore. 3520 */ 3521 MORE_STRICT = 3, 3522 } 3523 alias GtkSorterChange SorterChange; 3524 3525 /** 3526 * Describes the type of order that a `GtkSorter` may produce. 3527 */ 3528 public enum GtkSorterOrder 3529 { 3530 /** 3531 * A partial order. Any `GtkOrdering` is possible. 3532 */ 3533 PARTIAL = 0, 3534 /** 3535 * No order, all elements are considered equal. 3536 * gtk_sorter_compare() will only return %GTK_ORDERING_EQUAL. 3537 */ 3538 NONE = 1, 3539 /** 3540 * A total order. gtk_sorter_compare() will only 3541 * return %GTK_ORDERING_EQUAL if an item is compared with itself. Two 3542 * different items will never cause this value to be returned. 3543 */ 3544 TOTAL = 2, 3545 } 3546 alias GtkSorterOrder SorterOrder; 3547 3548 /** 3549 * Determines whether the spin button displays values outside the adjustment 3550 * bounds. 3551 * 3552 * See [method@Gtk.SpinButton.set_update_policy]. 3553 */ 3554 public enum GtkSpinButtonUpdatePolicy 3555 { 3556 /** 3557 * When refreshing your `GtkSpinButton`, the value is 3558 * always displayed 3559 */ 3560 ALWAYS = 0, 3561 /** 3562 * When refreshing your `GtkSpinButton`, the value is 3563 * only displayed if it is valid within the bounds of the spin button's 3564 * adjustment 3565 */ 3566 IF_VALID = 1, 3567 } 3568 alias GtkSpinButtonUpdatePolicy SpinButtonUpdatePolicy; 3569 3570 /** 3571 * The values of the GtkSpinType enumeration are used to specify the 3572 * change to make in gtk_spin_button_spin(). 3573 */ 3574 public enum GtkSpinType 3575 { 3576 /** 3577 * Increment by the adjustments step increment. 3578 */ 3579 STEP_FORWARD = 0, 3580 /** 3581 * Decrement by the adjustments step increment. 3582 */ 3583 STEP_BACKWARD = 1, 3584 /** 3585 * Increment by the adjustments page increment. 3586 */ 3587 PAGE_FORWARD = 2, 3588 /** 3589 * Decrement by the adjustments page increment. 3590 */ 3591 PAGE_BACKWARD = 3, 3592 /** 3593 * Go to the adjustments lower bound. 3594 */ 3595 HOME = 4, 3596 /** 3597 * Go to the adjustments upper bound. 3598 */ 3599 END = 5, 3600 /** 3601 * Change by a specified amount. 3602 */ 3603 USER_DEFINED = 6, 3604 } 3605 alias GtkSpinType SpinType; 3606 3607 /** 3608 * Possible transitions between pages in a `GtkStack` widget. 3609 * 3610 * New values may be added to this enumeration over time. 3611 */ 3612 public enum GtkStackTransitionType 3613 { 3614 /** 3615 * No transition 3616 */ 3617 NONE = 0, 3618 /** 3619 * A cross-fade 3620 */ 3621 CROSSFADE = 1, 3622 /** 3623 * Slide from left to right 3624 */ 3625 SLIDE_RIGHT = 2, 3626 /** 3627 * Slide from right to left 3628 */ 3629 SLIDE_LEFT = 3, 3630 /** 3631 * Slide from bottom up 3632 */ 3633 SLIDE_UP = 4, 3634 /** 3635 * Slide from top down 3636 */ 3637 SLIDE_DOWN = 5, 3638 /** 3639 * Slide from left or right according to the children order 3640 */ 3641 SLIDE_LEFT_RIGHT = 6, 3642 /** 3643 * Slide from top down or bottom up according to the order 3644 */ 3645 SLIDE_UP_DOWN = 7, 3646 /** 3647 * Cover the old page by sliding up 3648 */ 3649 OVER_UP = 8, 3650 /** 3651 * Cover the old page by sliding down 3652 */ 3653 OVER_DOWN = 9, 3654 /** 3655 * Cover the old page by sliding to the left 3656 */ 3657 OVER_LEFT = 10, 3658 /** 3659 * Cover the old page by sliding to the right 3660 */ 3661 OVER_RIGHT = 11, 3662 /** 3663 * Uncover the new page by sliding up 3664 */ 3665 UNDER_UP = 12, 3666 /** 3667 * Uncover the new page by sliding down 3668 */ 3669 UNDER_DOWN = 13, 3670 /** 3671 * Uncover the new page by sliding to the left 3672 */ 3673 UNDER_LEFT = 14, 3674 /** 3675 * Uncover the new page by sliding to the right 3676 */ 3677 UNDER_RIGHT = 15, 3678 /** 3679 * Cover the old page sliding up or uncover the new page sliding down, according to order 3680 */ 3681 OVER_UP_DOWN = 16, 3682 /** 3683 * Cover the old page sliding down or uncover the new page sliding up, according to order 3684 */ 3685 OVER_DOWN_UP = 17, 3686 /** 3687 * Cover the old page sliding left or uncover the new page sliding right, according to order 3688 */ 3689 OVER_LEFT_RIGHT = 18, 3690 /** 3691 * Cover the old page sliding right or uncover the new page sliding left, according to order 3692 */ 3693 OVER_RIGHT_LEFT = 19, 3694 /** 3695 * Pretend the pages are sides of a cube and rotate that cube to the left 3696 */ 3697 ROTATE_LEFT = 20, 3698 /** 3699 * Pretend the pages are sides of a cube and rotate that cube to the right 3700 */ 3701 ROTATE_RIGHT = 21, 3702 /** 3703 * Pretend the pages are sides of a cube and rotate that cube to the left or right according to the children order 3704 */ 3705 ROTATE_LEFT_RIGHT = 22, 3706 } 3707 alias GtkStackTransitionType StackTransitionType; 3708 3709 /** 3710 * Describes a widget state. 3711 * 3712 * Widget states are used to match the widget against CSS pseudo-classes. 3713 * Note that GTK extends the regular CSS classes and sometimes uses 3714 * different names. 3715 */ 3716 public enum GtkStateFlags 3717 { 3718 /** 3719 * State during normal operation 3720 */ 3721 NORMAL = 0, 3722 /** 3723 * Widget is active 3724 */ 3725 ACTIVE = 1, 3726 /** 3727 * Widget has a mouse pointer over it 3728 */ 3729 PRELIGHT = 2, 3730 /** 3731 * Widget is selected 3732 */ 3733 SELECTED = 4, 3734 /** 3735 * Widget is insensitive 3736 */ 3737 INSENSITIVE = 8, 3738 /** 3739 * Widget is inconsistent 3740 */ 3741 INCONSISTENT = 16, 3742 /** 3743 * Widget has the keyboard focus 3744 */ 3745 FOCUSED = 32, 3746 /** 3747 * Widget is in a background toplevel window 3748 */ 3749 BACKDROP = 64, 3750 /** 3751 * Widget is in left-to-right text direction 3752 */ 3753 DIR_LTR = 128, 3754 /** 3755 * Widget is in right-to-left text direction 3756 */ 3757 DIR_RTL = 256, 3758 /** 3759 * Widget is a link 3760 */ 3761 LINK = 512, 3762 /** 3763 * The location the widget points to has already been visited 3764 */ 3765 VISITED = 1024, 3766 /** 3767 * Widget is checked 3768 */ 3769 CHECKED = 2048, 3770 /** 3771 * Widget is highlighted as a drop target for DND 3772 */ 3773 DROP_ACTIVE = 4096, 3774 /** 3775 * Widget has the visible focus 3776 */ 3777 FOCUS_VISIBLE = 8192, 3778 /** 3779 * Widget contains the keyboard focus 3780 */ 3781 FOCUS_WITHIN = 16384, 3782 } 3783 alias GtkStateFlags StateFlags; 3784 3785 /** 3786 * Specifies how search strings are matched inside text. 3787 */ 3788 public enum GtkStringFilterMatchMode 3789 { 3790 /** 3791 * The search string and 3792 * text must match exactly. 3793 */ 3794 EXACT = 0, 3795 /** 3796 * The search string 3797 * must be contained as a substring inside the text. 3798 */ 3799 SUBSTRING = 1, 3800 /** 3801 * The text must begin 3802 * with the search string. 3803 */ 3804 PREFIX = 2, 3805 } 3806 alias GtkStringFilterMatchMode StringFilterMatchMode; 3807 3808 /** 3809 * Flags that modify the behavior of gtk_style_context_to_string(). 3810 * 3811 * New values may be added to this enumeration. 3812 */ 3813 public enum GtkStyleContextPrintFlags 3814 { 3815 /** 3816 * Default value. 3817 */ 3818 NONE = 0, 3819 /** 3820 * Print the entire tree of 3821 * CSS nodes starting at the style context's node 3822 */ 3823 RECURSE = 1, 3824 /** 3825 * Show the values of the 3826 * CSS properties for each node 3827 */ 3828 SHOW_STYLE = 2, 3829 /** 3830 * Show information about 3831 * what changes affect the styles 3832 */ 3833 SHOW_CHANGE = 4, 3834 } 3835 alias GtkStyleContextPrintFlags StyleContextPrintFlags; 3836 3837 /** 3838 * The indexes of colors passed to symbolic color rendering, such as 3839 * [vfunc@Gtk.SymbolicPaintable.snapshot_symbolic]. 3840 * 3841 * More values may be added over time. 3842 * 3843 * Since: 4.6 3844 */ 3845 public enum GtkSymbolicColor 3846 { 3847 /** 3848 * The default foreground color 3849 */ 3850 FOREGROUND = 0, 3851 /** 3852 * Indication color for errors 3853 */ 3854 ERROR = 1, 3855 /** 3856 * Indication color for warnings 3857 */ 3858 WARNING = 2, 3859 /** 3860 * Indication color for success 3861 */ 3862 SUCCESS = 3, 3863 } 3864 alias GtkSymbolicColor SymbolicColor; 3865 3866 /** 3867 * Values that can be passed to the [vfunc@Gtk.Widget.system_setting_changed] 3868 * vfunc. 3869 * 3870 * The values indicate which system setting has changed. 3871 * Widgets may need to drop caches, or react otherwise. 3872 * 3873 * Most of the values correspond to [class@Settings] properties. 3874 * 3875 * More values may be added over time. 3876 */ 3877 public enum GtkSystemSetting 3878 { 3879 /** 3880 * the [property@Gtk.Settings:gtk-xft-dpi] setting has changed 3881 */ 3882 DPI = 0, 3883 /** 3884 * The [property@Gtk.Settings:gtk-font-name] setting has changed 3885 */ 3886 FONT_NAME = 1, 3887 /** 3888 * The font configuration has changed in a way that 3889 * requires text to be redrawn. This can be any of the 3890 * [property@Gtk.Settings:gtk-xft-antialias], 3891 * [property@Gtk.Settings:gtk-xft-hinting], 3892 * [property@Gtk.Settings:gtk-xft-hintstyle], 3893 * [property@Gtk.Settings:gtk-xft-rgba] or 3894 * [property@Gtk.Settings:gtk-fontconfig-timestamp] settings 3895 */ 3896 FONT_CONFIG = 2, 3897 /** 3898 * The display has changed 3899 */ 3900 DISPLAY = 3, 3901 /** 3902 * The icon theme has changed in a way that requires 3903 * icons to be looked up again 3904 */ 3905 ICON_THEME = 4, 3906 } 3907 alias GtkSystemSetting SystemSetting; 3908 3909 /** 3910 * Reading directions for text. 3911 */ 3912 public enum GtkTextDirection 3913 { 3914 /** 3915 * No direction. 3916 */ 3917 NONE = 0, 3918 /** 3919 * Left to right text direction. 3920 */ 3921 LTR = 1, 3922 /** 3923 * Right to left text direction. 3924 */ 3925 RTL = 2, 3926 } 3927 alias GtkTextDirection TextDirection; 3928 3929 /** 3930 * Granularity types that extend the text selection. Use the 3931 * `GtkTextView::extend-selection` signal to customize the selection. 3932 */ 3933 public enum GtkTextExtendSelection 3934 { 3935 /** 3936 * Selects the current word. It is triggered by 3937 * a double-click for example. 3938 */ 3939 WORD = 0, 3940 /** 3941 * Selects the current line. It is triggered by 3942 * a triple-click for example. 3943 */ 3944 LINE = 1, 3945 } 3946 alias GtkTextExtendSelection TextExtendSelection; 3947 3948 /** 3949 * Flags affecting how a search is done. 3950 * 3951 * If neither %GTK_TEXT_SEARCH_VISIBLE_ONLY nor %GTK_TEXT_SEARCH_TEXT_ONLY are 3952 * enabled, the match must be exact; the special 0xFFFC character will match 3953 * embedded paintables or child widgets. 3954 */ 3955 public enum GtkTextSearchFlags 3956 { 3957 /** 3958 * Search only visible data. A search match may 3959 * have invisible text interspersed. 3960 */ 3961 VISIBLE_ONLY = 1, 3962 /** 3963 * Search only text. A match may have paintables or 3964 * child widgets mixed inside the matched range. 3965 */ 3966 TEXT_ONLY = 2, 3967 /** 3968 * The text will be matched regardless of 3969 * what case it is in. 3970 */ 3971 CASE_INSENSITIVE = 4, 3972 } 3973 alias GtkTextSearchFlags TextSearchFlags; 3974 3975 /** 3976 * Used to reference the layers of `GtkTextView` for the purpose of customized 3977 * drawing with the ::snapshot_layer vfunc. 3978 */ 3979 public enum GtkTextViewLayer 3980 { 3981 /** 3982 * The layer rendered below the text (but above the background). 3983 */ 3984 BELOW_TEXT = 0, 3985 /** 3986 * The layer rendered above the text. 3987 */ 3988 ABOVE_TEXT = 1, 3989 } 3990 alias GtkTextViewLayer TextViewLayer; 3991 3992 /** 3993 * Used to reference the parts of `GtkTextView`. 3994 */ 3995 public enum GtkTextWindowType 3996 { 3997 /** 3998 * Window that floats over scrolling areas. 3999 */ 4000 WIDGET = 1, 4001 /** 4002 * Scrollable text window. 4003 */ 4004 TEXT = 2, 4005 /** 4006 * Left side border window. 4007 */ 4008 LEFT = 3, 4009 /** 4010 * Right side border window. 4011 */ 4012 RIGHT = 4, 4013 /** 4014 * Top border window. 4015 */ 4016 TOP = 5, 4017 /** 4018 * Bottom border window. 4019 */ 4020 BOTTOM = 6, 4021 } 4022 alias GtkTextWindowType TextWindowType; 4023 4024 /** 4025 * These flags indicate various properties of a `GtkTreeModel`. 4026 * 4027 * They are returned by [method@Gtk.TreeModel.get_flags], and must be 4028 * static for the lifetime of the object. A more complete description 4029 * of %GTK_TREE_MODEL_ITERS_PERSIST can be found in the overview of 4030 * this section. 4031 */ 4032 public enum GtkTreeModelFlags 4033 { 4034 /** 4035 * iterators survive all signals 4036 * emitted by the tree 4037 */ 4038 ITERS_PERSIST = 1, 4039 /** 4040 * the model is a list only, and never 4041 * has children 4042 */ 4043 LIST_ONLY = 2, 4044 } 4045 alias GtkTreeModelFlags TreeModelFlags; 4046 4047 /** 4048 * The sizing method the column uses to determine its width. Please note 4049 * that %GTK_TREE_VIEW_COLUMN_AUTOSIZE are inefficient for large views, and 4050 * can make columns appear choppy. 4051 */ 4052 public enum GtkTreeViewColumnSizing 4053 { 4054 /** 4055 * Columns only get bigger in reaction to changes in the model 4056 */ 4057 GROW_ONLY = 0, 4058 /** 4059 * Columns resize to be the optimal size every time the model changes. 4060 */ 4061 AUTOSIZE = 1, 4062 /** 4063 * Columns are a fixed numbers of pixels wide. 4064 */ 4065 FIXED = 2, 4066 } 4067 alias GtkTreeViewColumnSizing TreeViewColumnSizing; 4068 4069 /** 4070 * An enum for determining where a dropped row goes. 4071 */ 4072 public enum GtkTreeViewDropPosition 4073 { 4074 /** 4075 * dropped row is inserted before 4076 */ 4077 BEFORE = 0, 4078 /** 4079 * dropped row is inserted after 4080 */ 4081 AFTER = 1, 4082 /** 4083 * dropped row becomes a child or is inserted before 4084 */ 4085 INTO_OR_BEFORE = 2, 4086 /** 4087 * dropped row becomes a child or is inserted after 4088 */ 4089 INTO_OR_AFTER = 3, 4090 } 4091 alias GtkTreeViewDropPosition TreeViewDropPosition; 4092 4093 /** 4094 * Used to indicate which grid lines to draw in a tree view. 4095 */ 4096 public enum GtkTreeViewGridLines 4097 { 4098 /** 4099 * No grid lines. 4100 */ 4101 NONE = 0, 4102 /** 4103 * Horizontal grid lines. 4104 */ 4105 HORIZONTAL = 1, 4106 /** 4107 * Vertical grid lines. 4108 */ 4109 VERTICAL = 2, 4110 /** 4111 * Horizontal and vertical grid lines. 4112 */ 4113 BOTH = 3, 4114 } 4115 alias GtkTreeViewGridLines TreeViewGridLines; 4116 4117 /** 4118 * See also gtk_print_settings_set_paper_width(). 4119 */ 4120 public enum GtkUnit 4121 { 4122 /** 4123 * No units. 4124 */ 4125 NONE = 0, 4126 /** 4127 * Dimensions in points. 4128 */ 4129 POINTS = 1, 4130 /** 4131 * Dimensions in inches. 4132 */ 4133 INCH = 2, 4134 /** 4135 * Dimensions in millimeters 4136 */ 4137 MM = 3, 4138 } 4139 alias GtkUnit Unit; 4140 4141 /** 4142 * Describes a type of line wrapping. 4143 */ 4144 public enum GtkWrapMode 4145 { 4146 /** 4147 * do not wrap lines; just make the text area wider 4148 */ 4149 NONE = 0, 4150 /** 4151 * wrap text, breaking lines anywhere the cursor can 4152 * appear (between characters, usually - if you want to be technical, 4153 * between graphemes, see pango_get_log_attrs()) 4154 */ 4155 CHAR = 1, 4156 /** 4157 * wrap text, breaking lines in between words 4158 */ 4159 WORD = 2, 4160 /** 4161 * wrap text, breaking lines in between words, or if 4162 * that is not enough, also between graphemes 4163 */ 4164 WORD_CHAR = 3, 4165 } 4166 alias GtkWrapMode WrapMode; 4167 4168 struct GtkATContext; 4169 4170 struct GtkATContextClass; 4171 4172 struct GtkAboutDialog; 4173 4174 struct GtkAccessible; 4175 4176 struct GtkAccessibleInterface; 4177 4178 struct GtkActionBar; 4179 4180 struct GtkActionable; 4181 4182 /** 4183 * The interface vtable for `GtkActionable`. 4184 */ 4185 struct GtkActionableInterface 4186 { 4187 GTypeInterface gIface; 4188 /** 4189 * 4190 * Params: 4191 * actionable = a `GtkActionable` widget 4192 * Returns: the action name 4193 */ 4194 extern(C) const(char)* function(GtkActionable* actionable) getActionName; 4195 /** */ 4196 extern(C) void function(GtkActionable* actionable, const(char)* actionName) setActionName; 4197 /** 4198 * 4199 * Params: 4200 * actionable = a `GtkActionable` widget 4201 * Returns: the current target value 4202 */ 4203 extern(C) GVariant* function(GtkActionable* actionable) getActionTargetValue; 4204 /** */ 4205 extern(C) void function(GtkActionable* actionable, GVariant* targetValue) setActionTargetValue; 4206 } 4207 4208 struct GtkActivateAction; 4209 4210 struct GtkActivateActionClass; 4211 4212 struct GtkAdjustment 4213 { 4214 GObject parentInstance; 4215 } 4216 4217 struct GtkAdjustmentClass 4218 { 4219 GObjectClass parentClass; 4220 /** */ 4221 extern(C) void function(GtkAdjustment* adjustment) changed; 4222 /** */ 4223 extern(C) void function(GtkAdjustment* adjustment) valueChanged; 4224 /** */ 4225 extern(C) void function() GtkReserved1; 4226 /** */ 4227 extern(C) void function() GtkReserved2; 4228 /** */ 4229 extern(C) void function() GtkReserved3; 4230 /** */ 4231 extern(C) void function() GtkReserved4; 4232 } 4233 4234 struct GtkAlternativeTrigger; 4235 4236 struct GtkAlternativeTriggerClass; 4237 4238 struct GtkAnyFilter; 4239 4240 struct GtkAnyFilterClass; 4241 4242 struct GtkAppChooser; 4243 4244 struct GtkAppChooserButton; 4245 4246 struct GtkAppChooserDialog; 4247 4248 struct GtkAppChooserWidget; 4249 4250 struct GtkApplication 4251 { 4252 GApplication parentInstance; 4253 } 4254 4255 struct GtkApplicationClass 4256 { 4257 /** 4258 * The parent class. 4259 */ 4260 GApplicationClass parentClass; 4261 /** */ 4262 extern(C) void function(GtkApplication* application, GtkWindow* window) windowAdded; 4263 /** */ 4264 extern(C) void function(GtkApplication* application, GtkWindow* window) windowRemoved; 4265 void*[8] padding; 4266 } 4267 4268 struct GtkApplicationWindow 4269 { 4270 GtkWindow parentInstance; 4271 } 4272 4273 struct GtkApplicationWindowClass 4274 { 4275 /** 4276 * The parent class. 4277 */ 4278 GtkWindowClass parentClass; 4279 void*[8] padding; 4280 } 4281 4282 struct GtkAspectFrame; 4283 4284 struct GtkAssistant; 4285 4286 struct GtkAssistantPage; 4287 4288 struct GtkBinLayout; 4289 4290 struct GtkBinLayoutClass 4291 { 4292 GtkLayoutManagerClass parentClass; 4293 } 4294 4295 struct GtkBitset; 4296 4297 struct GtkBitsetIter 4298 { 4299 void*[10] privateData; 4300 } 4301 4302 struct GtkBookmarkList; 4303 4304 struct GtkBookmarkListClass 4305 { 4306 GObjectClass parentClass; 4307 } 4308 4309 struct GtkBoolFilter; 4310 4311 struct GtkBoolFilterClass 4312 { 4313 GtkFilterClass parentClass; 4314 } 4315 4316 struct GtkBorder 4317 { 4318 /** 4319 * The width of the left border 4320 */ 4321 short left; 4322 /** 4323 * The width of the right border 4324 */ 4325 short right; 4326 /** 4327 * The width of the top border 4328 */ 4329 short top; 4330 /** 4331 * The width of the bottom border 4332 */ 4333 short bottom; 4334 } 4335 4336 struct GtkBox 4337 { 4338 GtkWidget parentInstance; 4339 } 4340 4341 struct GtkBoxClass 4342 { 4343 /** 4344 * The parent class. 4345 */ 4346 GtkWidgetClass parentClass; 4347 void*[8] padding; 4348 } 4349 4350 struct GtkBoxLayout; 4351 4352 struct GtkBoxLayoutClass 4353 { 4354 GtkLayoutManagerClass parentClass; 4355 } 4356 4357 struct GtkBuildable; 4358 4359 /** 4360 * The `GtkBuildableIface` interface contains methods that are 4361 * necessary to allow `GtkBuilder` to construct an object from 4362 * a `GtkBuilder` UI definition. 4363 */ 4364 struct GtkBuildableIface 4365 { 4366 /** 4367 * the parent class 4368 */ 4369 GTypeInterface gIface; 4370 /** */ 4371 extern(C) void function(GtkBuildable* buildable, const(char)* id) setId; 4372 /** */ 4373 extern(C) const(char)* function(GtkBuildable* buildable) getId; 4374 /** */ 4375 extern(C) void function(GtkBuildable* buildable, GtkBuilder* builder, GObject* child, const(char)* type) addChild; 4376 /** */ 4377 extern(C) void function(GtkBuildable* buildable, GtkBuilder* builder, const(char)* name, GValue* value) setBuildableProperty; 4378 /** */ 4379 extern(C) GObject* function(GtkBuildable* buildable, GtkBuilder* builder, const(char)* name) constructChild; 4380 /** 4381 * 4382 * Params: 4383 * buildable = a `GtkBuildable` 4384 * builder = a `GtkBuilder` used to construct this object 4385 * child = child object or %NULL for non-child tags 4386 * tagname = name of tag 4387 * parser = a `GtkBuildableParser` to fill in 4388 * data = return location for user data that will be passed in 4389 * to parser functions 4390 * Returns: %TRUE if an object has a custom implementation, %FALSE 4391 * if it doesn't. 4392 */ 4393 extern(C) int function(GtkBuildable* buildable, GtkBuilder* builder, GObject* child, const(char)* tagname, GtkBuildableParser* parser, void** data) customTagStart; 4394 /** */ 4395 extern(C) void function(GtkBuildable* buildable, GtkBuilder* builder, GObject* child, const(char)* tagname, void* data) customTagEnd; 4396 /** */ 4397 extern(C) void function(GtkBuildable* buildable, GtkBuilder* builder, GObject* child, const(char)* tagname, void* data) customFinished; 4398 /** */ 4399 extern(C) void function(GtkBuildable* buildable, GtkBuilder* builder) parserFinished; 4400 /** 4401 * 4402 * Params: 4403 * buildable = a `GtkBuildable` 4404 * builder = a `GtkBuilder` 4405 * childname = name of child 4406 * Returns: the internal child of the buildable object 4407 */ 4408 extern(C) GObject* function(GtkBuildable* buildable, GtkBuilder* builder, const(char)* childname) getInternalChild; 4409 } 4410 4411 struct GtkBuildableParseContext; 4412 4413 /** 4414 * A sub-parser for `GtkBuildable` implementations. 4415 */ 4416 struct GtkBuildableParser 4417 { 4418 /** */ 4419 extern(C) void function(GtkBuildableParseContext* context, const(char)* elementName, char** attributeNames, char** attributeValues, void* userData, GError** err) startElement; 4420 /** */ 4421 extern(C) void function(GtkBuildableParseContext* context, const(char)* elementName, void* userData, GError** err) endElement; 4422 /** */ 4423 extern(C) void function(GtkBuildableParseContext* context, const(char)* text, size_t textLen, void* userData, GError** err) text; 4424 /** */ 4425 extern(C) void function(GtkBuildableParseContext* context, GError* error, void* userData) error; 4426 void*[4] padding; 4427 } 4428 4429 struct GtkBuilder; 4430 4431 struct GtkBuilderCScope 4432 { 4433 GObject parentInstance; 4434 } 4435 4436 struct GtkBuilderCScopeClass 4437 { 4438 GObjectClass parentClass; 4439 } 4440 4441 struct GtkBuilderClass; 4442 4443 struct GtkBuilderListItemFactory; 4444 4445 struct GtkBuilderListItemFactoryClass; 4446 4447 struct GtkBuilderScope; 4448 4449 /** 4450 * The virtual function table to implement for `GtkBuilderScope` implementations. 4451 * Default implementations for each function do exist, but they usually just fail, 4452 * so it is suggested that implementations implement all of them. 4453 */ 4454 struct GtkBuilderScopeInterface 4455 { 4456 GTypeInterface gIface; 4457 /** */ 4458 extern(C) GType function(GtkBuilderScope* self, GtkBuilder* builder, const(char)* typeName) getTypeFromName; 4459 /** */ 4460 extern(C) GType function(GtkBuilderScope* self, GtkBuilder* builder, const(char)* functionName) getTypeFromFunction; 4461 /** */ 4462 extern(C) GClosure* function(GtkBuilderScope* self, GtkBuilder* builder, const(char)* functionName, GtkBuilderClosureFlags flags, GObject* object, GError** err) createClosure; 4463 } 4464 4465 struct GtkButton 4466 { 4467 GtkWidget parentInstance; 4468 } 4469 4470 struct GtkButtonClass 4471 { 4472 /** 4473 * The parent class. 4474 */ 4475 GtkWidgetClass parentClass; 4476 /** */ 4477 extern(C) void function(GtkButton* button) clicked; 4478 /** */ 4479 extern(C) void function(GtkButton* button) activate; 4480 void*[8] padding; 4481 } 4482 4483 struct GtkButtonPrivate; 4484 4485 struct GtkCClosureExpression; 4486 4487 struct GtkCalendar; 4488 4489 struct GtkCallbackAction; 4490 4491 struct GtkCallbackActionClass; 4492 4493 struct GtkCellArea 4494 { 4495 GObject parentInstance; 4496 } 4497 4498 struct GtkCellAreaBox; 4499 4500 struct GtkCellAreaClass 4501 { 4502 GObjectClass parentClass; 4503 /** */ 4504 extern(C) void function(GtkCellArea* area, GtkCellRenderer* renderer) add; 4505 /** */ 4506 extern(C) void function(GtkCellArea* area, GtkCellRenderer* renderer) remove; 4507 /** */ 4508 extern(C) void function(GtkCellArea* area, GtkCellCallback callback, void* callbackData) foreach_; 4509 /** */ 4510 extern(C) void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, GdkRectangle* cellArea, GdkRectangle* backgroundArea, GtkCellAllocCallback callback, void* callbackData) foreachAlloc; 4511 /** 4512 * 4513 * Params: 4514 * area = a `GtkCellArea` 4515 * context = the `GtkCellArea`Context for this row of data. 4516 * widget = the `GtkWidget` that @area is rendering to 4517 * event = the `GdkEvent` to handle 4518 * cellArea = the @widget relative coordinates for @area 4519 * flags = the `GtkCellRenderer`State for @area in this row. 4520 * Returns: %TRUE if the event was handled by @area. 4521 */ 4522 extern(C) int function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, GdkEvent* event, GdkRectangle* cellArea, GtkCellRendererState flags) event; 4523 /** */ 4524 extern(C) void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, GtkSnapshot* snapshot, GdkRectangle* backgroundArea, GdkRectangle* cellArea, GtkCellRendererState flags, int paintFocus) snapshot; 4525 /** */ 4526 extern(C) void function(GtkCellArea* area, GtkTreeModel* treeModel, GtkTreeIter* iter, int isExpander, int isExpanded) applyAttributes; 4527 /** 4528 * 4529 * Params: 4530 * area = a `GtkCellArea` 4531 * Returns: a newly created `GtkCellArea`Context which can be used with @area. 4532 */ 4533 extern(C) GtkCellAreaContext* function(GtkCellArea* area) createContext; 4534 /** 4535 * 4536 * Params: 4537 * area = a `GtkCellArea` 4538 * context = the `GtkCellArea`Context to copy 4539 * Returns: a newly created `GtkCellArea`Context copy of @context. 4540 */ 4541 extern(C) GtkCellAreaContext* function(GtkCellArea* area, GtkCellAreaContext* context) copyContext; 4542 /** 4543 * 4544 * Params: 4545 * area = a `GtkCellArea` 4546 * Returns: The `GtkSizeRequestMode` preferred by @area. 4547 */ 4548 extern(C) GtkSizeRequestMode function(GtkCellArea* area) getRequestMode; 4549 /** */ 4550 extern(C) void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, int* minimumWidth, int* naturalWidth) getPreferredWidth; 4551 /** */ 4552 extern(C) void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, int width, int* minimumHeight, int* naturalHeight) getPreferredHeightForWidth; 4553 /** */ 4554 extern(C) void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, int* minimumHeight, int* naturalHeight) getPreferredHeight; 4555 /** */ 4556 extern(C) void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, int height, int* minimumWidth, int* naturalWidth) getPreferredWidthForHeight; 4557 /** */ 4558 extern(C) void function(GtkCellArea* area, GtkCellRenderer* renderer, uint propertyId, GValue* value, GParamSpec* pspec) setCellProperty; 4559 /** */ 4560 extern(C) void function(GtkCellArea* area, GtkCellRenderer* renderer, uint propertyId, GValue* value, GParamSpec* pspec) getCellProperty; 4561 /** 4562 * 4563 * Params: 4564 * area = a `GtkCellArea` 4565 * direction = the `GtkDirectionType` 4566 * Returns: %TRUE if focus remains inside @area as a result of this call. 4567 */ 4568 extern(C) int function(GtkCellArea* area, GtkDirectionType direction) focus; 4569 /** 4570 * 4571 * Params: 4572 * area = a `GtkCellArea` 4573 * Returns: whether @area can do anything when activated. 4574 */ 4575 extern(C) int function(GtkCellArea* area) isActivatable; 4576 /** 4577 * 4578 * Params: 4579 * area = a `GtkCellArea` 4580 * context = the `GtkCellArea`Context in context with the current row data 4581 * widget = the `GtkWidget` that @area is rendering on 4582 * cellArea = the size and location of @area relative to @widget’s allocation 4583 * flags = the `GtkCellRenderer`State flags for @area for this row of data. 4584 * editOnly = if %TRUE then only cell renderers that are %GTK_CELL_RENDERER_MODE_EDITABLE 4585 * will be activated. 4586 * Returns: Whether @area was successfully activated. 4587 */ 4588 extern(C) int function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, GdkRectangle* cellArea, GtkCellRendererState flags, int editOnly) activate; 4589 void*[8] padding; 4590 } 4591 4592 struct GtkCellAreaContext 4593 { 4594 GObject parentInstance; 4595 } 4596 4597 struct GtkCellAreaContextClass 4598 { 4599 GObjectClass parentClass; 4600 /** */ 4601 extern(C) void function(GtkCellAreaContext* context, int width, int height) allocate; 4602 /** */ 4603 extern(C) void function(GtkCellAreaContext* context) reset; 4604 /** */ 4605 extern(C) void function(GtkCellAreaContext* context, int width, int* minimumHeight, int* naturalHeight) getPreferredHeightForWidth; 4606 /** */ 4607 extern(C) void function(GtkCellAreaContext* context, int height, int* minimumWidth, int* naturalWidth) getPreferredWidthForHeight; 4608 void*[8] padding; 4609 } 4610 4611 struct GtkCellAreaContextPrivate; 4612 4613 struct GtkCellEditable; 4614 4615 struct GtkCellEditableIface 4616 { 4617 GTypeInterface gIface; 4618 /** */ 4619 extern(C) void function(GtkCellEditable* cellEditable) editingDone; 4620 /** */ 4621 extern(C) void function(GtkCellEditable* cellEditable) removeWidget; 4622 /** */ 4623 extern(C) void function(GtkCellEditable* cellEditable, GdkEvent* event) startEditing; 4624 } 4625 4626 struct GtkCellLayout; 4627 4628 struct GtkCellLayoutIface 4629 { 4630 GTypeInterface gIface; 4631 /** */ 4632 extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, int expand) packStart; 4633 /** */ 4634 extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, int expand) packEnd; 4635 /** */ 4636 extern(C) void function(GtkCellLayout* cellLayout) clear; 4637 /** */ 4638 extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, const(char)* attribute, int column) addAttribute; 4639 /** */ 4640 extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, GtkCellLayoutDataFunc func, void* funcData, GDestroyNotify destroy) setCellDataFunc; 4641 /** */ 4642 extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell) clearAttributes; 4643 /** */ 4644 extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, int position) reorder; 4645 /** 4646 * 4647 * Params: 4648 * cellLayout = a `GtkCellLayout` 4649 * Returns: a list of cell renderers. The list, but not the renderers has 4650 * been newly allocated and should be freed with g_list_free() 4651 * when no longer needed. 4652 */ 4653 extern(C) GList* function(GtkCellLayout* cellLayout) getCells; 4654 /** 4655 * 4656 * Params: 4657 * cellLayout = a `GtkCellLayout` 4658 * Returns: the cell area used by @cell_layout 4659 */ 4660 extern(C) GtkCellArea* function(GtkCellLayout* cellLayout) getArea; 4661 } 4662 4663 struct GtkCellRenderer 4664 { 4665 GObject parentInstance; 4666 GtkCellRendererPrivate* priv; 4667 } 4668 4669 struct GtkCellRendererAccel; 4670 4671 struct GtkCellRendererClass 4672 { 4673 GObjectClass parentClass; 4674 /** 4675 * 4676 * Params: 4677 * cell = a `GtkCellRenderer` instance 4678 * Returns: The `GtkSizeRequestMode` preferred by this renderer. 4679 */ 4680 extern(C) GtkSizeRequestMode function(GtkCellRenderer* cell) getRequestMode; 4681 /** */ 4682 extern(C) void function(GtkCellRenderer* cell, GtkWidget* widget, int* minimumSize, int* naturalSize) getPreferredWidth; 4683 /** */ 4684 extern(C) void function(GtkCellRenderer* cell, GtkWidget* widget, int width, int* minimumHeight, int* naturalHeight) getPreferredHeightForWidth; 4685 /** */ 4686 extern(C) void function(GtkCellRenderer* cell, GtkWidget* widget, int* minimumSize, int* naturalSize) getPreferredHeight; 4687 /** */ 4688 extern(C) void function(GtkCellRenderer* cell, GtkWidget* widget, int height, int* minimumWidth, int* naturalWidth) getPreferredWidthForHeight; 4689 /** */ 4690 extern(C) void function(GtkCellRenderer* cell, GtkWidget* widget, GtkCellRendererState flags, GdkRectangle* cellArea, GdkRectangle* alignedArea) getAlignedArea; 4691 /** */ 4692 extern(C) void function(GtkCellRenderer* cell, GtkSnapshot* snapshot, GtkWidget* widget, GdkRectangle* backgroundArea, GdkRectangle* cellArea, GtkCellRendererState flags) snapshot; 4693 /** 4694 * 4695 * Params: 4696 * cell = a `GtkCellRenderer` 4697 * event = a `GdkEvent` 4698 * widget = widget that received the event 4699 * path = widget-dependent string representation of the event location; 4700 * e.g. for `GtkTreeView`, a string representation of `GtkTreePath` 4701 * backgroundArea = background area as passed to gtk_cell_renderer_render() 4702 * cellArea = cell area as passed to gtk_cell_renderer_render() 4703 * flags = render flags 4704 * Returns: %TRUE if the event was consumed/handled 4705 */ 4706 extern(C) int function(GtkCellRenderer* cell, GdkEvent* event, GtkWidget* widget, const(char)* path, GdkRectangle* backgroundArea, GdkRectangle* cellArea, GtkCellRendererState flags) activate; 4707 /** 4708 * 4709 * Params: 4710 * cell = a `GtkCellRenderer` 4711 * event = a `GdkEvent` 4712 * widget = widget that received the event 4713 * path = widget-dependent string representation of the event location; 4714 * e.g. for `GtkTreeView`, a string representation of `GtkTreePath` 4715 * backgroundArea = background area as passed to gtk_cell_renderer_render() 4716 * cellArea = cell area as passed to gtk_cell_renderer_render() 4717 * flags = render flags 4718 * Returns: A new `GtkCellEditable` for editing this 4719 * @cell, or %NULL if editing is not possible 4720 */ 4721 extern(C) GtkCellEditable* function(GtkCellRenderer* cell, GdkEvent* event, GtkWidget* widget, const(char)* path, GdkRectangle* backgroundArea, GdkRectangle* cellArea, GtkCellRendererState flags) startEditing; 4722 /** */ 4723 extern(C) void function(GtkCellRenderer* cell) editingCanceled; 4724 /** */ 4725 extern(C) void function(GtkCellRenderer* cell, GtkCellEditable* editable, const(char)* path) editingStarted; 4726 void*[8] padding; 4727 } 4728 4729 struct GtkCellRendererClassPrivate; 4730 4731 struct GtkCellRendererCombo; 4732 4733 struct GtkCellRendererPixbuf; 4734 4735 struct GtkCellRendererPrivate; 4736 4737 struct GtkCellRendererProgress; 4738 4739 struct GtkCellRendererSpin; 4740 4741 struct GtkCellRendererSpinner; 4742 4743 struct GtkCellRendererText 4744 { 4745 GtkCellRenderer parent; 4746 } 4747 4748 struct GtkCellRendererTextClass 4749 { 4750 GtkCellRendererClass parentClass; 4751 /** */ 4752 extern(C) void function(GtkCellRendererText* cellRendererText, const(char)* path, const(char)* newText) edited; 4753 void*[8] padding; 4754 } 4755 4756 struct GtkCellRendererToggle; 4757 4758 struct GtkCellView; 4759 4760 struct GtkCenterBox; 4761 4762 struct GtkCenterBoxClass; 4763 4764 struct GtkCenterLayout; 4765 4766 struct GtkCenterLayoutClass 4767 { 4768 GtkLayoutManagerClass parentClass; 4769 } 4770 4771 struct GtkCheckButton 4772 { 4773 GtkWidget parentInstance; 4774 } 4775 4776 struct GtkCheckButtonClass 4777 { 4778 GtkWidgetClass parentClass; 4779 /** */ 4780 extern(C) void function(GtkCheckButton* checkButton) toggled; 4781 /** */ 4782 extern(C) void function(GtkCheckButton* checkButton) activate; 4783 void*[7] padding; 4784 } 4785 4786 struct GtkClosureExpression; 4787 4788 struct GtkColorButton; 4789 4790 struct GtkColorChooser; 4791 4792 struct GtkColorChooserDialog; 4793 4794 struct GtkColorChooserInterface 4795 { 4796 GTypeInterface baseInterface; 4797 /** */ 4798 extern(C) void function(GtkColorChooser* chooser, GdkRGBA* color) getRgba; 4799 /** */ 4800 extern(C) void function(GtkColorChooser* chooser, GdkRGBA* color) setRgba; 4801 /** */ 4802 extern(C) void function(GtkColorChooser* chooser, GtkOrientation orientation, int colorsPerLine, int nColors, GdkRGBA* colors) addPalette; 4803 /** */ 4804 extern(C) void function(GtkColorChooser* chooser, GdkRGBA* color) colorActivated; 4805 void*[12] padding; 4806 } 4807 4808 struct GtkColorChooserWidget; 4809 4810 struct GtkColumnView; 4811 4812 struct GtkColumnViewClass; 4813 4814 struct GtkColumnViewColumn; 4815 4816 struct GtkColumnViewColumnClass; 4817 4818 struct GtkComboBox 4819 { 4820 GtkWidget parentInstance; 4821 } 4822 4823 struct GtkComboBoxClass 4824 { 4825 /** 4826 * The parent class. 4827 */ 4828 GtkWidgetClass parentClass; 4829 /** */ 4830 extern(C) void function(GtkComboBox* comboBox) changed; 4831 /** */ 4832 extern(C) char* function(GtkComboBox* comboBox, const(char)* path) formatEntryText; 4833 /** */ 4834 extern(C) void function(GtkComboBox* comboBox) activate; 4835 void*[7] padding; 4836 } 4837 4838 struct GtkComboBoxText; 4839 4840 struct GtkConstantExpression; 4841 4842 struct GtkConstraint; 4843 4844 struct GtkConstraintClass 4845 { 4846 GObjectClass parentClass; 4847 } 4848 4849 struct GtkConstraintGuide; 4850 4851 struct GtkConstraintGuideClass 4852 { 4853 GObjectClass parentClass; 4854 } 4855 4856 struct GtkConstraintLayout; 4857 4858 struct GtkConstraintLayoutChild; 4859 4860 struct GtkConstraintLayoutChildClass 4861 { 4862 GtkLayoutChildClass parentClass; 4863 } 4864 4865 struct GtkConstraintLayoutClass 4866 { 4867 GtkLayoutManagerClass parentClass; 4868 } 4869 4870 struct GtkConstraintTarget; 4871 4872 struct GtkConstraintTargetInterface; 4873 4874 /** 4875 * Represents a location in a file or other source of data parsed 4876 * by the CSS engine. 4877 * 4878 * The @bytes and @line_bytes offsets are meant to be used to 4879 * programmatically match data. The @lines and @line_chars offsets 4880 * can be used for printing the location in a file. 4881 * 4882 * Note that the @lines parameter starts from 0 and is increased 4883 * whenever a CSS line break is encountered. (CSS defines the C character 4884 * sequences "\r\n", "\r", "\n" and "\f" as newlines.) 4885 * If your document uses different rules for line breaking, you might want 4886 * run into problems here. 4887 */ 4888 struct GtkCssLocation 4889 { 4890 /** 4891 * number of bytes parsed since the beginning 4892 */ 4893 size_t bytes; 4894 /** 4895 * number of characters parsed since the beginning 4896 */ 4897 size_t chars; 4898 /** 4899 * number of full lines that have been parsed. If you want to 4900 * display this as a line number, you need to add 1 to this. 4901 */ 4902 size_t lines; 4903 /** 4904 * Number of bytes parsed since the last line break 4905 */ 4906 size_t lineBytes; 4907 /** 4908 * Number of characters parsed since the last line break 4909 */ 4910 size_t lineChars; 4911 } 4912 4913 struct GtkCssProvider 4914 { 4915 GObject parentInstance; 4916 } 4917 4918 struct GtkCssProviderClass; 4919 4920 struct GtkCssProviderPrivate; 4921 4922 struct GtkCssSection; 4923 4924 struct GtkCssStyleChange; 4925 4926 struct GtkCustomFilter; 4927 4928 struct GtkCustomFilterClass 4929 { 4930 GtkFilterClass parentClass; 4931 } 4932 4933 struct GtkCustomLayout; 4934 4935 struct GtkCustomLayoutClass 4936 { 4937 GtkLayoutManagerClass parentClass; 4938 } 4939 4940 struct GtkCustomSorter; 4941 4942 struct GtkCustomSorterClass 4943 { 4944 GtkSorterClass parentClass; 4945 } 4946 4947 struct GtkDialog 4948 { 4949 GtkWindow parentInstance; 4950 } 4951 4952 struct GtkDialogClass 4953 { 4954 /** 4955 * The parent class. 4956 */ 4957 GtkWindowClass parentClass; 4958 /** */ 4959 extern(C) void function(GtkDialog* dialog, int responseId) response; 4960 /** */ 4961 extern(C) void function(GtkDialog* dialog) close; 4962 void*[8] padding; 4963 } 4964 4965 struct GtkDirectoryList; 4966 4967 struct GtkDirectoryListClass 4968 { 4969 GObjectClass parentClass; 4970 } 4971 4972 struct GtkDragIcon; 4973 4974 struct GtkDragIconClass 4975 { 4976 GtkWidgetClass parentClass; 4977 } 4978 4979 struct GtkDragSource; 4980 4981 struct GtkDragSourceClass; 4982 4983 struct GtkDrawingArea 4984 { 4985 GtkWidget widget; 4986 } 4987 4988 struct GtkDrawingAreaClass 4989 { 4990 GtkWidgetClass parentClass; 4991 /** */ 4992 extern(C) void function(GtkDrawingArea* area, int width, int height) resize; 4993 void*[8] padding; 4994 } 4995 4996 struct GtkDropControllerMotion; 4997 4998 struct GtkDropControllerMotionClass; 4999 5000 struct GtkDropDown; 5001 5002 struct GtkDropDownClass 5003 { 5004 GtkWidgetClass parentClass; 5005 } 5006 5007 struct GtkDropTarget; 5008 5009 struct GtkDropTargetAsync; 5010 5011 struct GtkDropTargetAsyncClass; 5012 5013 struct GtkDropTargetClass; 5014 5015 struct GtkEditable; 5016 5017 struct GtkEditableInterface 5018 { 5019 GTypeInterface baseIface; 5020 /** */ 5021 extern(C) void function(GtkEditable* editable, const(char)* text, int length, int* position) insertText; 5022 /** */ 5023 extern(C) void function(GtkEditable* editable, int startPos, int endPos) deleteText; 5024 /** */ 5025 extern(C) void function(GtkEditable* editable) changed; 5026 /** 5027 * 5028 * Params: 5029 * editable = a `GtkEditable` 5030 * Returns: a pointer to the contents of the editable 5031 */ 5032 extern(C) const(char)* function(GtkEditable* editable) getText; 5033 /** */ 5034 extern(C) void function(GtkEditable* editable, const(char)* text, int length, int* position) doInsertText; 5035 /** */ 5036 extern(C) void function(GtkEditable* editable, int startPos, int endPos) doDeleteText; 5037 /** 5038 * 5039 * Params: 5040 * editable = a `GtkEditable` 5041 * startPos = location to store the starting position 5042 * endPos = location to store the end position 5043 * Returns: %TRUE if there is a non-empty selection, %FALSE otherwise 5044 */ 5045 extern(C) int function(GtkEditable* editable, int* startPos, int* endPos) getSelectionBounds; 5046 /** */ 5047 extern(C) void function(GtkEditable* editable, int startPos, int endPos) setSelectionBounds; 5048 /** 5049 * 5050 * Params: 5051 * editable = a `GtkEditable` 5052 * Returns: the delegate `GtkEditable` 5053 */ 5054 extern(C) GtkEditable* function(GtkEditable* editable) getDelegate; 5055 } 5056 5057 struct GtkEditableLabel; 5058 5059 struct GtkEditableLabelClass 5060 { 5061 GtkWidgetClass parentClass; 5062 } 5063 5064 struct GtkEmojiChooser; 5065 5066 struct GtkEmojiChooserClass; 5067 5068 struct GtkEntry 5069 { 5070 GtkWidget parentInstance; 5071 } 5072 5073 struct GtkEntryBuffer 5074 { 5075 GObject parentInstance; 5076 } 5077 5078 struct GtkEntryBufferClass 5079 { 5080 GObjectClass parentClass; 5081 /** */ 5082 extern(C) void function(GtkEntryBuffer* buffer, uint position, const(char)* chars, uint nChars) insertedText; 5083 /** */ 5084 extern(C) void function(GtkEntryBuffer* buffer, uint position, uint nChars) deletedText; 5085 /** */ 5086 extern(C) const(char)* function(GtkEntryBuffer* buffer, size_t* nBytes) getText; 5087 /** 5088 * 5089 * Params: 5090 * buffer = a `GtkEntryBuffer` 5091 * Returns: The number of characters in the buffer. 5092 */ 5093 extern(C) uint function(GtkEntryBuffer* buffer) getLength; 5094 /** 5095 * 5096 * Params: 5097 * buffer = a `GtkEntryBuffer` 5098 * position = the position at which to insert text. 5099 * chars = the text to insert into the buffer. 5100 * nChars = the length of the text in characters, or -1 5101 * Returns: The number of characters actually inserted. 5102 */ 5103 extern(C) uint function(GtkEntryBuffer* buffer, uint position, const(char)* chars, uint nChars) insertText; 5104 /** 5105 * 5106 * Params: 5107 * buffer = a `GtkEntryBuffer` 5108 * position = position at which to delete text 5109 * nChars = number of characters to delete 5110 * Returns: The number of characters deleted. 5111 */ 5112 extern(C) uint function(GtkEntryBuffer* buffer, uint position, uint nChars) deleteText; 5113 /** */ 5114 extern(C) void function() GtkReserved1; 5115 /** */ 5116 extern(C) void function() GtkReserved2; 5117 /** */ 5118 extern(C) void function() GtkReserved3; 5119 /** */ 5120 extern(C) void function() GtkReserved4; 5121 /** */ 5122 extern(C) void function() GtkReserved5; 5123 /** */ 5124 extern(C) void function() GtkReserved6; 5125 /** */ 5126 extern(C) void function() GtkReserved7; 5127 /** */ 5128 extern(C) void function() GtkReserved8; 5129 } 5130 5131 /** 5132 * Class structure for `GtkEntry`. All virtual functions have a default 5133 * implementation. Derived classes may set the virtual function pointers for the 5134 * signal handlers to %NULL, but must keep @get_text_area_size and 5135 * @get_frame_size non-%NULL; either use the default implementation, or provide 5136 * a custom one. 5137 */ 5138 struct GtkEntryClass 5139 { 5140 /** 5141 * The parent class. 5142 */ 5143 GtkWidgetClass parentClass; 5144 /** */ 5145 extern(C) void function(GtkEntry* entry) activate; 5146 void*[8] padding; 5147 } 5148 5149 struct GtkEntryCompletion; 5150 5151 struct GtkEventController; 5152 5153 struct GtkEventControllerClass; 5154 5155 struct GtkEventControllerFocus; 5156 5157 struct GtkEventControllerFocusClass; 5158 5159 struct GtkEventControllerKey; 5160 5161 struct GtkEventControllerKeyClass; 5162 5163 struct GtkEventControllerLegacy; 5164 5165 struct GtkEventControllerLegacyClass; 5166 5167 struct GtkEventControllerMotion; 5168 5169 struct GtkEventControllerMotionClass; 5170 5171 struct GtkEventControllerScroll; 5172 5173 struct GtkEventControllerScrollClass; 5174 5175 struct GtkEveryFilter; 5176 5177 struct GtkEveryFilterClass; 5178 5179 struct GtkExpander; 5180 5181 struct GtkExpression; 5182 5183 struct GtkExpressionWatch; 5184 5185 struct GtkFileChooser; 5186 5187 struct GtkFileChooserDialog; 5188 5189 struct GtkFileChooserNative; 5190 5191 struct GtkFileChooserNativeClass 5192 { 5193 GtkNativeDialogClass parentClass; 5194 } 5195 5196 struct GtkFileChooserWidget; 5197 5198 struct GtkFileFilter; 5199 5200 struct GtkFilter 5201 { 5202 GObject parentInstance; 5203 } 5204 5205 struct GtkFilterClass 5206 { 5207 GObjectClass parentClass; 5208 /** 5209 * 5210 * Params: 5211 * self = a `GtkFilter` 5212 * item = The item to check 5213 * Returns: %TRUE if the filter matches the item and a filter model should 5214 * keep it, %FALSE if not. 5215 */ 5216 extern(C) int function(GtkFilter* self, void* item) match; 5217 /** 5218 * 5219 * Params: 5220 * self = a `GtkFilter` 5221 * Returns: the strictness of @self 5222 */ 5223 extern(C) GtkFilterMatch function(GtkFilter* self) getStrictness; 5224 /** */ 5225 extern(C) void function() GtkReserved1; 5226 /** */ 5227 extern(C) void function() GtkReserved2; 5228 /** */ 5229 extern(C) void function() GtkReserved3; 5230 /** */ 5231 extern(C) void function() GtkReserved4; 5232 /** */ 5233 extern(C) void function() GtkReserved5; 5234 /** */ 5235 extern(C) void function() GtkReserved6; 5236 /** */ 5237 extern(C) void function() GtkReserved7; 5238 /** */ 5239 extern(C) void function() GtkReserved8; 5240 } 5241 5242 struct GtkFilterListModel; 5243 5244 struct GtkFilterListModelClass 5245 { 5246 GObjectClass parentClass; 5247 } 5248 5249 struct GtkFixed 5250 { 5251 GtkWidget parentInstance; 5252 } 5253 5254 struct GtkFixedClass 5255 { 5256 GtkWidgetClass parentClass; 5257 void*[8] padding; 5258 } 5259 5260 struct GtkFixedLayout; 5261 5262 struct GtkFixedLayoutChild; 5263 5264 struct GtkFixedLayoutChildClass 5265 { 5266 GtkLayoutChildClass parentClass; 5267 } 5268 5269 struct GtkFixedLayoutClass 5270 { 5271 GtkLayoutManagerClass parentClass; 5272 } 5273 5274 struct GtkFlattenListModel; 5275 5276 struct GtkFlattenListModelClass 5277 { 5278 GObjectClass parentClass; 5279 } 5280 5281 struct GtkFlowBox; 5282 5283 struct GtkFlowBoxChild 5284 { 5285 GtkWidget parentInstance; 5286 } 5287 5288 struct GtkFlowBoxChildClass 5289 { 5290 GtkWidgetClass parentClass; 5291 /** */ 5292 extern(C) void function(GtkFlowBoxChild* child) activate; 5293 void*[8] padding; 5294 } 5295 5296 struct GtkFontButton; 5297 5298 struct GtkFontChooser; 5299 5300 struct GtkFontChooserDialog; 5301 5302 struct GtkFontChooserIface 5303 { 5304 GTypeInterface baseIface; 5305 /** 5306 * 5307 * Params: 5308 * fontchooser = a `GtkFontChooser` 5309 * Returns: A `PangoFontFamily` representing the 5310 * selected font family 5311 */ 5312 extern(C) PangoFontFamily* function(GtkFontChooser* fontchooser) getFontFamily; 5313 /** 5314 * 5315 * Params: 5316 * fontchooser = a `GtkFontChooser` 5317 * Returns: A `PangoFontFace` representing the 5318 * selected font group details 5319 */ 5320 extern(C) PangoFontFace* function(GtkFontChooser* fontchooser) getFontFace; 5321 /** 5322 * 5323 * Params: 5324 * fontchooser = a `GtkFontChooser` 5325 * Returns: A n integer representing the selected font size, 5326 * or -1 if no font size is selected. 5327 */ 5328 extern(C) int function(GtkFontChooser* fontchooser) getFontSize; 5329 /** */ 5330 extern(C) void function(GtkFontChooser* fontchooser, GtkFontFilterFunc filter, void* userData, GDestroyNotify destroy) setFilterFunc; 5331 /** */ 5332 extern(C) void function(GtkFontChooser* chooser, const(char)* fontname) fontActivated; 5333 /** */ 5334 extern(C) void function(GtkFontChooser* fontchooser, PangoFontMap* fontmap) setFontMap; 5335 /** 5336 * 5337 * Params: 5338 * fontchooser = a `GtkFontChooser` 5339 * Returns: a `PangoFontMap` 5340 */ 5341 extern(C) PangoFontMap* function(GtkFontChooser* fontchooser) getFontMap; 5342 void*[10] padding; 5343 } 5344 5345 struct GtkFontChooserWidget; 5346 5347 struct GtkFrame 5348 { 5349 GtkWidget parentInstance; 5350 } 5351 5352 struct GtkFrameClass 5353 { 5354 /** 5355 * The parent class. 5356 */ 5357 GtkWidgetClass parentClass; 5358 /** */ 5359 extern(C) void function(GtkFrame* frame, GtkAllocation* allocation) computeChildAllocation; 5360 void*[8] padding; 5361 } 5362 5363 struct GtkGLArea 5364 { 5365 GtkWidget parentInstance; 5366 } 5367 5368 /** 5369 * The `GtkGLAreaClass` structure contains only private data. 5370 */ 5371 struct GtkGLAreaClass 5372 { 5373 GtkWidgetClass parentClass; 5374 /** */ 5375 extern(C) int function(GtkGLArea* area, GdkGLContext* context) render; 5376 /** */ 5377 extern(C) void function(GtkGLArea* area, int width, int height) resize; 5378 /** */ 5379 extern(C) GdkGLContext* function(GtkGLArea* area) createContext; 5380 void*[8] Padding; 5381 } 5382 5383 struct GtkGesture; 5384 5385 struct GtkGestureClass; 5386 5387 struct GtkGestureClick; 5388 5389 struct GtkGestureClickClass; 5390 5391 struct GtkGestureDrag; 5392 5393 struct GtkGestureDragClass; 5394 5395 struct GtkGestureLongPress; 5396 5397 struct GtkGestureLongPressClass; 5398 5399 struct GtkGesturePan; 5400 5401 struct GtkGesturePanClass; 5402 5403 struct GtkGestureRotate; 5404 5405 struct GtkGestureRotateClass; 5406 5407 struct GtkGestureSingle; 5408 5409 struct GtkGestureSingleClass; 5410 5411 struct GtkGestureStylus; 5412 5413 struct GtkGestureStylusClass; 5414 5415 struct GtkGestureSwipe; 5416 5417 struct GtkGestureSwipeClass; 5418 5419 struct GtkGestureZoom; 5420 5421 struct GtkGestureZoomClass; 5422 5423 struct GtkGrid 5424 { 5425 GtkWidget parentInstance; 5426 } 5427 5428 struct GtkGridClass 5429 { 5430 /** 5431 * The parent class. 5432 */ 5433 GtkWidgetClass parentClass; 5434 void*[8] padding; 5435 } 5436 5437 struct GtkGridLayout; 5438 5439 struct GtkGridLayoutChild; 5440 5441 struct GtkGridLayoutChildClass 5442 { 5443 GtkLayoutChildClass parentClass; 5444 } 5445 5446 struct GtkGridLayoutClass 5447 { 5448 GtkLayoutManagerClass parentClass; 5449 } 5450 5451 struct GtkGridView; 5452 5453 struct GtkGridViewClass; 5454 5455 struct GtkHeaderBar; 5456 5457 struct GtkIMContext 5458 { 5459 GObject parentInstance; 5460 } 5461 5462 struct GtkIMContextClass 5463 { 5464 GObjectClass parentClass; 5465 /** */ 5466 extern(C) void function(GtkIMContext* context) preeditStart; 5467 /** */ 5468 extern(C) void function(GtkIMContext* context) preeditEnd; 5469 /** */ 5470 extern(C) void function(GtkIMContext* context) preeditChanged; 5471 /** */ 5472 extern(C) void function(GtkIMContext* context, const(char)* str) commit; 5473 /** */ 5474 extern(C) int function(GtkIMContext* context) retrieveSurrounding; 5475 /** 5476 * 5477 * Params: 5478 * context = a `GtkIMContext` 5479 * offset = offset from cursor position in chars; 5480 * a negative value means start before the cursor. 5481 * nChars = number of characters to delete. 5482 * Returns: %TRUE if the signal was handled. 5483 */ 5484 extern(C) int function(GtkIMContext* context, int offset, int nChars) deleteSurrounding; 5485 /** */ 5486 extern(C) void function(GtkIMContext* context, GtkWidget* widget) setClientWidget; 5487 /** */ 5488 extern(C) void function(GtkIMContext* context, char** str, PangoAttrList** attrs, int* cursorPos) getPreeditString; 5489 /** 5490 * 5491 * Params: 5492 * context = a `GtkIMContext` 5493 * event = the key event 5494 * Returns: %TRUE if the input method handled the key event. 5495 */ 5496 extern(C) int function(GtkIMContext* context, GdkEvent* event) filterKeypress; 5497 /** */ 5498 extern(C) void function(GtkIMContext* context) focusIn; 5499 /** */ 5500 extern(C) void function(GtkIMContext* context) focusOut; 5501 /** */ 5502 extern(C) void function(GtkIMContext* context) reset; 5503 /** */ 5504 extern(C) void function(GtkIMContext* context, GdkRectangle* area) setCursorLocation; 5505 /** */ 5506 extern(C) void function(GtkIMContext* context, int usePreedit) setUsePreedit; 5507 /** */ 5508 extern(C) void function(GtkIMContext* context, const(char)* text, int len, int cursorIndex) setSurrounding; 5509 /** 5510 * 5511 * Params: 5512 * context = a `GtkIMContext` 5513 * text = location to store a UTF-8 encoded 5514 * string of text holding context around the insertion point. 5515 * If the function returns %TRUE, then you must free the result 5516 * stored in this location with g_free(). 5517 * cursorIndex = location to store byte index of the insertion 5518 * cursor within @text. 5519 * Returns: `TRUE` if surrounding text was provided; in this case 5520 * you must free the result stored in `text`. 5521 */ 5522 extern(C) int function(GtkIMContext* context, char** text, int* cursorIndex) getSurrounding; 5523 /** */ 5524 extern(C) void function(GtkIMContext* context, const(char)* text, int len, int cursorIndex, int anchorIndex) setSurroundingWithSelection; 5525 /** 5526 * 5527 * Params: 5528 * context = a `GtkIMContext` 5529 * text = location to store a UTF-8 encoded 5530 * string of text holding context around the insertion point. 5531 * If the function returns %TRUE, then you must free the result 5532 * stored in this location with g_free(). 5533 * cursorIndex = location to store byte index of the insertion 5534 * cursor within @text. 5535 * anchorIndex = location to store byte index of the selection 5536 * bound within @text 5537 * Returns: `TRUE` if surrounding text was provided; in this case 5538 * you must free the result stored in `text`. 5539 */ 5540 extern(C) int function(GtkIMContext* context, char** text, int* cursorIndex, int* anchorIndex) getSurroundingWithSelection; 5541 /** */ 5542 extern(C) void function() GtkReserved1; 5543 /** */ 5544 extern(C) void function() GtkReserved2; 5545 /** */ 5546 extern(C) void function() GtkReserved3; 5547 /** */ 5548 extern(C) void function() GtkReserved4; 5549 /** */ 5550 extern(C) void function() GtkReserved5; 5551 } 5552 5553 struct GtkIMContextSimple 5554 { 5555 GtkIMContext object; 5556 GtkIMContextSimplePrivate* priv; 5557 } 5558 5559 struct GtkIMContextSimpleClass 5560 { 5561 GtkIMContextClass parentClass; 5562 } 5563 5564 struct GtkIMContextSimplePrivate; 5565 5566 struct GtkIMMulticontext 5567 { 5568 GtkIMContext object; 5569 GtkIMMulticontextPrivate* priv; 5570 } 5571 5572 struct GtkIMMulticontextClass 5573 { 5574 GtkIMContextClass parentClass; 5575 /** */ 5576 extern(C) void function() GtkReserved1; 5577 /** */ 5578 extern(C) void function() GtkReserved2; 5579 /** */ 5580 extern(C) void function() GtkReserved3; 5581 /** */ 5582 extern(C) void function() GtkReserved4; 5583 } 5584 5585 struct GtkIMMulticontextPrivate; 5586 5587 struct GtkIconPaintable; 5588 5589 struct GtkIconTheme; 5590 5591 struct GtkIconView; 5592 5593 struct GtkImage; 5594 5595 struct GtkInfoBar; 5596 5597 struct GtkKeyvalTrigger; 5598 5599 struct GtkKeyvalTriggerClass; 5600 5601 struct GtkLabel; 5602 5603 struct GtkLayoutChild 5604 { 5605 GObject parentInstance; 5606 } 5607 5608 struct GtkLayoutChildClass 5609 { 5610 GObjectClass parentClass; 5611 } 5612 5613 struct GtkLayoutManager 5614 { 5615 GObject parentInstance; 5616 } 5617 5618 /** 5619 * The `GtkLayoutManagerClass` structure contains only private data, and 5620 * should only be accessed through the provided API, or when subclassing 5621 * `GtkLayoutManager`. 5622 */ 5623 struct GtkLayoutManagerClass 5624 { 5625 GObjectClass parentClass; 5626 /** */ 5627 extern(C) GtkSizeRequestMode function(GtkLayoutManager* manager, GtkWidget* widget) getRequestMode; 5628 /** */ 5629 extern(C) void function(GtkLayoutManager* manager, GtkWidget* widget, GtkOrientation orientation, int forSize, int* minimum, int* natural, int* minimumBaseline, int* naturalBaseline) measure; 5630 /** */ 5631 extern(C) void function(GtkLayoutManager* manager, GtkWidget* widget, int width, int height, int baseline) allocate; 5632 /** 5633 * the type of `GtkLayoutChild` used by this layout manager 5634 */ 5635 GType layoutChildType; 5636 /** 5637 * 5638 * Params: 5639 * manager = the `GtkLayoutManager` 5640 * widget = the widget using the @manager 5641 * forChild = the child of @widget 5642 * Returns: a `GtkLayoutChild` 5643 */ 5644 extern(C) GtkLayoutChild* function(GtkLayoutManager* manager, GtkWidget* widget, GtkWidget* forChild) createLayoutChild; 5645 /** */ 5646 extern(C) void function(GtkLayoutManager* manager) root; 5647 /** */ 5648 extern(C) void function(GtkLayoutManager* manager) unroot; 5649 void*[16] Padding; 5650 } 5651 5652 struct GtkLevelBar; 5653 5654 struct GtkLinkButton; 5655 5656 struct GtkListBase; 5657 5658 struct GtkListBaseClass; 5659 5660 struct GtkListBox; 5661 5662 struct GtkListBoxRow 5663 { 5664 GtkWidget parentInstance; 5665 } 5666 5667 struct GtkListBoxRowClass 5668 { 5669 /** 5670 * The parent class. 5671 */ 5672 GtkWidgetClass parentClass; 5673 /** */ 5674 extern(C) void function(GtkListBoxRow* row) activate; 5675 void*[8] padding; 5676 } 5677 5678 struct GtkListItem; 5679 5680 struct GtkListItemClass; 5681 5682 struct GtkListItemFactory; 5683 5684 struct GtkListItemFactoryClass; 5685 5686 struct GtkListStore 5687 { 5688 GObject parent; 5689 GtkListStorePrivate* priv; 5690 } 5691 5692 struct GtkListStoreClass 5693 { 5694 GObjectClass parentClass; 5695 void*[8] padding; 5696 } 5697 5698 struct GtkListStorePrivate; 5699 5700 struct GtkListView; 5701 5702 struct GtkListViewClass; 5703 5704 struct GtkLockButton; 5705 5706 struct GtkMapListModel; 5707 5708 struct GtkMapListModelClass 5709 { 5710 GObjectClass parentClass; 5711 } 5712 5713 struct GtkMediaControls; 5714 5715 struct GtkMediaControlsClass 5716 { 5717 GtkWidgetClass parentClass; 5718 } 5719 5720 struct GtkMediaFile 5721 { 5722 GtkMediaStream parentInstance; 5723 } 5724 5725 struct GtkMediaFileClass 5726 { 5727 GtkMediaStreamClass parentClass; 5728 /** */ 5729 extern(C) void function(GtkMediaFile* self) open; 5730 /** */ 5731 extern(C) void function(GtkMediaFile* self) close; 5732 /** */ 5733 extern(C) void function() GtkReserved1; 5734 /** */ 5735 extern(C) void function() GtkReserved2; 5736 /** */ 5737 extern(C) void function() GtkReserved3; 5738 /** */ 5739 extern(C) void function() GtkReserved4; 5740 } 5741 5742 struct GtkMediaStream 5743 { 5744 GObject parentInstance; 5745 } 5746 5747 struct GtkMediaStreamClass 5748 { 5749 GObjectClass parentClass; 5750 /** */ 5751 extern(C) int function(GtkMediaStream* self) play; 5752 /** */ 5753 extern(C) void function(GtkMediaStream* self) pause; 5754 /** */ 5755 extern(C) void function(GtkMediaStream* self, long timestamp) seek; 5756 /** */ 5757 extern(C) void function(GtkMediaStream* self, int muted, double volume) updateAudio; 5758 /** */ 5759 extern(C) void function(GtkMediaStream* self, GdkSurface* surface) realize; 5760 /** */ 5761 extern(C) void function(GtkMediaStream* self, GdkSurface* surface) unrealize; 5762 /** */ 5763 extern(C) void function() GtkReserved1; 5764 /** */ 5765 extern(C) void function() GtkReserved2; 5766 /** */ 5767 extern(C) void function() GtkReserved3; 5768 /** */ 5769 extern(C) void function() GtkReserved4; 5770 /** */ 5771 extern(C) void function() GtkReserved5; 5772 /** */ 5773 extern(C) void function() GtkReserved6; 5774 /** */ 5775 extern(C) void function() GtkReserved7; 5776 /** */ 5777 extern(C) void function() GtkReserved8; 5778 } 5779 5780 struct GtkMenuButton; 5781 5782 struct GtkMessageDialog 5783 { 5784 GtkDialog parentInstance; 5785 } 5786 5787 struct GtkMessageDialogClass; 5788 5789 struct GtkMnemonicAction; 5790 5791 struct GtkMnemonicActionClass; 5792 5793 struct GtkMnemonicTrigger; 5794 5795 struct GtkMnemonicTriggerClass; 5796 5797 struct GtkMountOperation 5798 { 5799 GMountOperation parentInstance; 5800 GtkMountOperationPrivate* priv; 5801 } 5802 5803 struct GtkMountOperationClass 5804 { 5805 /** 5806 * The parent class. 5807 */ 5808 GMountOperationClass parentClass; 5809 /** */ 5810 extern(C) void function() GtkReserved1; 5811 /** */ 5812 extern(C) void function() GtkReserved2; 5813 /** */ 5814 extern(C) void function() GtkReserved3; 5815 /** */ 5816 extern(C) void function() GtkReserved4; 5817 } 5818 5819 struct GtkMountOperationPrivate; 5820 5821 struct GtkMultiFilter; 5822 5823 struct GtkMultiFilterClass; 5824 5825 struct GtkMultiSelection; 5826 5827 struct GtkMultiSelectionClass 5828 { 5829 GObjectClass parentClass; 5830 } 5831 5832 struct GtkMultiSorter; 5833 5834 struct GtkMultiSorterClass 5835 { 5836 GtkSorterClass parentClass; 5837 } 5838 5839 struct GtkNamedAction; 5840 5841 struct GtkNamedActionClass; 5842 5843 struct GtkNative; 5844 5845 struct GtkNativeDialog 5846 { 5847 GObject parentInstance; 5848 } 5849 5850 /** 5851 * Class structure for `GtkNativeDialog`. 5852 */ 5853 struct GtkNativeDialogClass 5854 { 5855 GObjectClass parentClass; 5856 /** */ 5857 extern(C) void function(GtkNativeDialog* self, int responseId) response; 5858 /** */ 5859 extern(C) void function(GtkNativeDialog* self) show; 5860 /** */ 5861 extern(C) void function(GtkNativeDialog* self) hide; 5862 /** */ 5863 extern(C) void function() GtkReserved1; 5864 /** */ 5865 extern(C) void function() GtkReserved2; 5866 /** */ 5867 extern(C) void function() GtkReserved3; 5868 /** */ 5869 extern(C) void function() GtkReserved4; 5870 } 5871 5872 struct GtkNativeInterface; 5873 5874 struct GtkNeverTrigger; 5875 5876 struct GtkNeverTriggerClass; 5877 5878 struct GtkNoSelection; 5879 5880 struct GtkNoSelectionClass 5881 { 5882 GObjectClass parentClass; 5883 } 5884 5885 struct GtkNotebook; 5886 5887 struct GtkNotebookPage; 5888 5889 struct GtkNothingAction; 5890 5891 struct GtkNothingActionClass; 5892 5893 struct GtkNumericSorter; 5894 5895 struct GtkNumericSorterClass 5896 { 5897 GtkSorterClass parentClass; 5898 } 5899 5900 struct GtkObjectExpression; 5901 5902 struct GtkOrientable; 5903 5904 struct GtkOrientableIface 5905 { 5906 GTypeInterface baseIface; 5907 } 5908 5909 struct GtkOverlay; 5910 5911 struct GtkOverlayLayout; 5912 5913 struct GtkOverlayLayoutChild; 5914 5915 struct GtkOverlayLayoutChildClass 5916 { 5917 GtkLayoutChildClass parentClass; 5918 } 5919 5920 struct GtkOverlayLayoutClass 5921 { 5922 GtkLayoutManagerClass parentClass; 5923 } 5924 5925 /** 5926 * Struct defining a pad action entry. 5927 */ 5928 struct GtkPadActionEntry 5929 { 5930 /** 5931 * the type of pad feature that will trigger this action entry. 5932 */ 5933 GtkPadActionType type; 5934 /** 5935 * the 0-indexed button/ring/strip number that will trigger this action 5936 * entry. 5937 */ 5938 int index; 5939 /** 5940 * the mode that will trigger this action entry, or -1 for all modes. 5941 */ 5942 int mode; 5943 /** 5944 * Human readable description of this action entry, this string should 5945 * be deemed user-visible. 5946 */ 5947 const(char)* label; 5948 /** 5949 * action name that will be activated in the `GActionGroup`. 5950 */ 5951 const(char)* actionName; 5952 } 5953 5954 struct GtkPadController; 5955 5956 struct GtkPadControllerClass; 5957 5958 /** 5959 * A range of pages to print. 5960 * 5961 * See also [method@Gtk.PrintSettings.set_page_ranges]. 5962 */ 5963 struct GtkPageRange 5964 { 5965 /** 5966 * start of page range. 5967 */ 5968 int start; 5969 /** 5970 * end of page range. 5971 */ 5972 int end; 5973 } 5974 5975 struct GtkPageSetup; 5976 5977 struct GtkPageSetupUnixDialog; 5978 5979 struct GtkPaned; 5980 5981 struct GtkPaperSize; 5982 5983 struct GtkParamSpecExpression 5984 { 5985 GParamSpec parentInstance; 5986 } 5987 5988 struct GtkPasswordEntry; 5989 5990 struct GtkPasswordEntryBuffer; 5991 5992 struct GtkPasswordEntryBufferClass 5993 { 5994 GtkEntryBufferClass parentClass; 5995 } 5996 5997 struct GtkPasswordEntryClass; 5998 5999 struct GtkPicture; 6000 6001 struct GtkPictureClass 6002 { 6003 GtkWidgetClass parentClass; 6004 } 6005 6006 struct GtkPopover 6007 { 6008 GtkWidget parent; 6009 } 6010 6011 struct GtkPopoverClass 6012 { 6013 GtkWidgetClass parentClass; 6014 /** */ 6015 extern(C) void function(GtkPopover* popover) closed; 6016 /** */ 6017 extern(C) void function(GtkPopover* popover) activateDefault; 6018 void*[8] reserved; 6019 } 6020 6021 struct GtkPopoverMenu; 6022 6023 struct GtkPopoverMenuBar; 6024 6025 struct GtkPrintBackend; 6026 6027 struct GtkPrintContext; 6028 6029 struct GtkPrintJob; 6030 6031 struct GtkPrintOperation 6032 { 6033 GObject parentInstance; 6034 GtkPrintOperationPrivate* priv; 6035 } 6036 6037 struct GtkPrintOperationClass 6038 { 6039 /** 6040 * The parent class. 6041 */ 6042 GObjectClass parentClass; 6043 /** */ 6044 extern(C) void function(GtkPrintOperation* operation, GtkPrintOperationResult result) done; 6045 /** */ 6046 extern(C) void function(GtkPrintOperation* operation, GtkPrintContext* context) beginPrint; 6047 /** */ 6048 extern(C) int function(GtkPrintOperation* operation, GtkPrintContext* context) paginate; 6049 /** */ 6050 extern(C) void function(GtkPrintOperation* operation, GtkPrintContext* context, int pageNr, GtkPageSetup* setup) requestPageSetup; 6051 /** */ 6052 extern(C) void function(GtkPrintOperation* operation, GtkPrintContext* context, int pageNr) drawPage; 6053 /** */ 6054 extern(C) void function(GtkPrintOperation* operation, GtkPrintContext* context) endPrint; 6055 /** */ 6056 extern(C) void function(GtkPrintOperation* operation) statusChanged; 6057 /** */ 6058 extern(C) GtkWidget* function(GtkPrintOperation* operation) createCustomWidget; 6059 /** */ 6060 extern(C) void function(GtkPrintOperation* operation, GtkWidget* widget) customWidgetApply; 6061 /** */ 6062 extern(C) int function(GtkPrintOperation* operation, GtkPrintOperationPreview* preview, GtkPrintContext* context, GtkWindow* parent) preview; 6063 /** */ 6064 extern(C) void function(GtkPrintOperation* operation, GtkWidget* widget, GtkPageSetup* setup, GtkPrintSettings* settings) updateCustomWidget; 6065 void*[8] padding; 6066 } 6067 6068 struct GtkPrintOperationPreview; 6069 6070 struct GtkPrintOperationPreviewIface 6071 { 6072 GTypeInterface gIface; 6073 /** */ 6074 extern(C) void function(GtkPrintOperationPreview* preview, GtkPrintContext* context) ready; 6075 /** */ 6076 extern(C) void function(GtkPrintOperationPreview* preview, GtkPrintContext* context, GtkPageSetup* pageSetup) gotPageSize; 6077 /** */ 6078 extern(C) void function(GtkPrintOperationPreview* preview, int pageNr) renderPage; 6079 /** 6080 * 6081 * Params: 6082 * preview = a `GtkPrintOperationPreview` 6083 * pageNr = a page number 6084 * Returns: %TRUE if the page has been selected for printing 6085 */ 6086 extern(C) int function(GtkPrintOperationPreview* preview, int pageNr) isSelected; 6087 /** */ 6088 extern(C) void function(GtkPrintOperationPreview* preview) endPreview; 6089 /** */ 6090 extern(C) void function() GtkReserved1; 6091 /** */ 6092 extern(C) void function() GtkReserved2; 6093 /** */ 6094 extern(C) void function() GtkReserved3; 6095 /** */ 6096 extern(C) void function() GtkReserved4; 6097 /** */ 6098 extern(C) void function() GtkReserved5; 6099 /** */ 6100 extern(C) void function() GtkReserved6; 6101 /** */ 6102 extern(C) void function() GtkReserved7; 6103 /** */ 6104 extern(C) void function() GtkReserved8; 6105 } 6106 6107 struct GtkPrintOperationPrivate; 6108 6109 struct GtkPrintSettings; 6110 6111 struct GtkPrintUnixDialog; 6112 6113 struct GtkPrinter; 6114 6115 struct GtkProgressBar; 6116 6117 struct GtkPropertyExpression; 6118 6119 struct GtkRange 6120 { 6121 GtkWidget parentInstance; 6122 } 6123 6124 struct GtkRangeClass 6125 { 6126 GtkWidgetClass parentClass; 6127 /** */ 6128 extern(C) void function(GtkRange* range) valueChanged; 6129 /** */ 6130 extern(C) void function(GtkRange* range, double newValue) adjustBounds; 6131 /** */ 6132 extern(C) void function(GtkRange* range, GtkScrollType scroll) moveSlider; 6133 /** */ 6134 extern(C) void function(GtkRange* range, GtkBorder* border) getRangeBorder; 6135 /** */ 6136 extern(C) int function(GtkRange* range, GtkScrollType scroll, double newValue) changeValue; 6137 void*[8] padding; 6138 } 6139 6140 /** 6141 * Meta-data to be passed to gtk_recent_manager_add_full() when 6142 * registering a recently used resource. 6143 */ 6144 struct GtkRecentData 6145 { 6146 /** 6147 * a UTF-8 encoded string, containing the name of the recently 6148 * used resource to be displayed, or %NULL; 6149 */ 6150 char* displayName; 6151 /** 6152 * a UTF-8 encoded string, containing a short description of 6153 * the resource, or %NULL; 6154 */ 6155 char* description; 6156 /** 6157 * the MIME type of the resource; 6158 */ 6159 char* mimeType; 6160 /** 6161 * the name of the application that is registering this recently 6162 * used resource; 6163 */ 6164 char* appName; 6165 /** 6166 * command line used to launch this resource; may contain the 6167 * “\%f” and “\%u” escape characters which will be expanded 6168 * to the resource file path and URI respectively when the command line 6169 * is retrieved; 6170 */ 6171 char* appExec; 6172 /** 6173 * a vector of strings containing 6174 * groups names; 6175 */ 6176 char** groups; 6177 /** 6178 * whether this resource should be displayed only by the 6179 * applications that have registered it or not. 6180 */ 6181 bool isPrivate; 6182 } 6183 6184 struct GtkRecentInfo; 6185 6186 struct GtkRecentManager 6187 { 6188 GObject parentInstance; 6189 GtkRecentManagerPrivate* priv; 6190 } 6191 6192 /** 6193 * `GtkRecentManagerClass` contains only private data. 6194 */ 6195 struct GtkRecentManagerClass 6196 { 6197 GObjectClass parentClass; 6198 /** */ 6199 extern(C) void function(GtkRecentManager* manager) changed; 6200 /** */ 6201 extern(C) void function() GtkRecent1; 6202 /** */ 6203 extern(C) void function() GtkRecent2; 6204 /** */ 6205 extern(C) void function() GtkRecent3; 6206 /** */ 6207 extern(C) void function() GtkRecent4; 6208 } 6209 6210 struct GtkRecentManagerPrivate; 6211 6212 /** 6213 * Represents a request of a screen object in a given orientation. These 6214 * are primarily used in container implementations when allocating a natural 6215 * size for children calling. See [func@distribute_natural_allocation]. 6216 */ 6217 struct GtkRequestedSize 6218 { 6219 /** 6220 * A client pointer 6221 */ 6222 void* data; 6223 /** 6224 * The minimum size needed for allocation in a given orientation 6225 */ 6226 int minimumSize; 6227 /** 6228 * The natural size for allocation in a given orientation 6229 */ 6230 int naturalSize; 6231 } 6232 6233 struct GtkRequisition 6234 { 6235 /** 6236 * the widget’s desired width 6237 */ 6238 int width; 6239 /** 6240 * the widget’s desired height 6241 */ 6242 int height; 6243 } 6244 6245 struct GtkRevealer; 6246 6247 struct GtkRoot; 6248 6249 struct GtkRootInterface; 6250 6251 struct GtkScale 6252 { 6253 GtkRange parentInstance; 6254 } 6255 6256 struct GtkScaleButton 6257 { 6258 GtkWidget parentInstance; 6259 } 6260 6261 struct GtkScaleButtonClass 6262 { 6263 GtkWidgetClass parentClass; 6264 /** */ 6265 extern(C) void function(GtkScaleButton* button, double value) valueChanged; 6266 void*[8] padding; 6267 } 6268 6269 struct GtkScaleClass 6270 { 6271 GtkRangeClass parentClass; 6272 /** */ 6273 extern(C) void function(GtkScale* scale, int* x, int* y) getLayoutOffsets; 6274 void*[8] padding; 6275 } 6276 6277 struct GtkScrollable; 6278 6279 struct GtkScrollableInterface 6280 { 6281 GTypeInterface baseIface; 6282 /** 6283 * 6284 * Params: 6285 * scrollable = a `GtkScrollable` 6286 * border = return location for the results 6287 * Returns: %TRUE if @border has been set 6288 */ 6289 extern(C) int function(GtkScrollable* scrollable, GtkBorder* border) getBorder; 6290 } 6291 6292 struct GtkScrollbar; 6293 6294 struct GtkScrolledWindow; 6295 6296 struct GtkSearchBar; 6297 6298 struct GtkSearchEntry; 6299 6300 struct GtkSelectionFilterModel; 6301 6302 struct GtkSelectionFilterModelClass 6303 { 6304 GObjectClass parentClass; 6305 } 6306 6307 struct GtkSelectionModel; 6308 6309 /** 6310 * The list of virtual functions for the `GtkSelectionModel` interface. 6311 * No function must be implemented, but unless `GtkSelectionModel::is_selected()` 6312 * is implemented, it will not be possible to select items in the set. 6313 * 6314 * The model does not need to implement any functions to support either 6315 * selecting or unselecting items. Of course, if the model does not do that, 6316 * it means that users cannot select or unselect items in a list widget 6317 * using the model. 6318 * 6319 * All selection functions fall back to `GtkSelectionModel::set_selection()` 6320 * so it is sufficient to implement just that function for full selection 6321 * support. 6322 */ 6323 struct GtkSelectionModelInterface 6324 { 6325 GTypeInterface gIface; 6326 /** 6327 * 6328 * Params: 6329 * model = a `GtkSelectionModel` 6330 * position = the position of the item to query 6331 * Returns: %TRUE if the item is selected 6332 */ 6333 extern(C) int function(GtkSelectionModel* model, uint position) isSelected; 6334 /** 6335 * 6336 * Params: 6337 * model = a `GtkSelectionModel` 6338 * position = start of the queired range 6339 * nItems = number of items in the queried range 6340 * Returns: A `GtkBitset` that matches the selection state 6341 * for the given range with all other values being undefined. 6342 * The bitset must not be modified. 6343 */ 6344 extern(C) GtkBitset* function(GtkSelectionModel* model, uint position, uint nItems) getSelectionInRange; 6345 /** 6346 * 6347 * Params: 6348 * model = a `GtkSelectionModel` 6349 * position = the position of the item to select 6350 * unselectRest = whether previously selected items should be unselected 6351 * Returns: %TRUE if this action was supported and no fallback should be 6352 * tried. This does not mean the item was selected. 6353 */ 6354 extern(C) int function(GtkSelectionModel* model, uint position, int unselectRest) selectItem; 6355 /** 6356 * 6357 * Params: 6358 * model = a `GtkSelectionModel` 6359 * position = the position of the item to unselect 6360 * Returns: %TRUE if this action was supported and no fallback should be 6361 * tried. This does not mean the item was unselected. 6362 */ 6363 extern(C) int function(GtkSelectionModel* model, uint position) unselectItem; 6364 /** 6365 * 6366 * Params: 6367 * model = a `GtkSelectionModel` 6368 * position = the first item to select 6369 * nItems = the number of items to select 6370 * unselectRest = whether previously selected items should be unselected 6371 * Returns: %TRUE if this action was supported and no fallback should be 6372 * tried. This does not mean the range was selected. 6373 */ 6374 extern(C) int function(GtkSelectionModel* model, uint position, uint nItems, int unselectRest) selectRange; 6375 /** 6376 * 6377 * Params: 6378 * model = a `GtkSelectionModel` 6379 * position = the first item to unselect 6380 * nItems = the number of items to unselect 6381 * Returns: %TRUE if this action was supported and no fallback should be 6382 * tried. This does not mean the range was unselected. 6383 */ 6384 extern(C) int function(GtkSelectionModel* model, uint position, uint nItems) unselectRange; 6385 /** 6386 * 6387 * Params: 6388 * model = a `GtkSelectionModel` 6389 * Returns: %TRUE if this action was supported and no fallback should be 6390 * tried. This does not mean that all items are now selected. 6391 */ 6392 extern(C) int function(GtkSelectionModel* model) selectAll; 6393 /** 6394 * 6395 * Params: 6396 * model = a `GtkSelectionModel` 6397 * Returns: %TRUE if this action was supported and no fallback should be 6398 * tried. This does not mean that all items are now unselected. 6399 */ 6400 extern(C) int function(GtkSelectionModel* model) unselectAll; 6401 /** 6402 * 6403 * Params: 6404 * model = a `GtkSelectionModel` 6405 * selected = bitmask specifying if items should be selected or unselected 6406 * mask = bitmask specifying which items should be updated 6407 * Returns: %TRUE if this action was supported and no fallback should be 6408 * tried. This does not mean that all items were updated according 6409 * to the inputs. 6410 */ 6411 extern(C) int function(GtkSelectionModel* model, GtkBitset* selected, GtkBitset* mask) setSelection; 6412 } 6413 6414 struct GtkSeparator; 6415 6416 struct GtkSettings; 6417 6418 struct GtkShortcut; 6419 6420 struct GtkShortcutAction; 6421 6422 struct GtkShortcutActionClass; 6423 6424 struct GtkShortcutClass 6425 { 6426 GObjectClass parentClass; 6427 } 6428 6429 struct GtkShortcutController; 6430 6431 struct GtkShortcutControllerClass; 6432 6433 struct GtkShortcutLabel; 6434 6435 struct GtkShortcutLabelClass; 6436 6437 struct GtkShortcutManager; 6438 6439 /** 6440 * The list of functions that can be implemented for the `GtkShortcutManager` 6441 * interface. 6442 * 6443 * Note that no function is mandatory to implement, the default implementation 6444 * will work fine. 6445 */ 6446 struct GtkShortcutManagerInterface 6447 { 6448 GTypeInterface gIface; 6449 /** */ 6450 extern(C) void function(GtkShortcutManager* self, GtkShortcutController* controller) addController; 6451 /** */ 6452 extern(C) void function(GtkShortcutManager* self, GtkShortcutController* controller) removeController; 6453 } 6454 6455 struct GtkShortcutTrigger; 6456 6457 struct GtkShortcutTriggerClass; 6458 6459 struct GtkShortcutsGroup; 6460 6461 struct GtkShortcutsGroupClass; 6462 6463 struct GtkShortcutsSection; 6464 6465 struct GtkShortcutsSectionClass; 6466 6467 struct GtkShortcutsShortcut; 6468 6469 struct GtkShortcutsShortcutClass; 6470 6471 struct GtkShortcutsWindow; 6472 6473 struct GtkSignalAction; 6474 6475 struct GtkSignalActionClass; 6476 6477 struct GtkSignalListItemFactory; 6478 6479 struct GtkSignalListItemFactoryClass; 6480 6481 struct GtkSingleSelection; 6482 6483 struct GtkSingleSelectionClass 6484 { 6485 GObjectClass parentClass; 6486 } 6487 6488 struct GtkSizeGroup 6489 { 6490 GObject parentInstance; 6491 } 6492 6493 struct GtkSliceListModel; 6494 6495 struct GtkSliceListModelClass 6496 { 6497 GObjectClass parentClass; 6498 } 6499 6500 struct GtkSnapshot; 6501 6502 struct GtkSnapshotClass; 6503 6504 struct GtkSortListModel; 6505 6506 struct GtkSortListModelClass 6507 { 6508 GObjectClass parentClass; 6509 } 6510 6511 struct GtkSorter 6512 { 6513 GObject parentInstance; 6514 } 6515 6516 /** 6517 * The virtual table for `GtkSorter`. 6518 */ 6519 struct GtkSorterClass 6520 { 6521 GObjectClass parentClass; 6522 /** 6523 * 6524 * Params: 6525 * self = a `GtkSorter` 6526 * item1 = first item to compare 6527 * item2 = second item to compare 6528 * Returns: %GTK_ORDERING_EQUAL if @item1 == @item2, 6529 * %GTK_ORDERING_SMALLER if @item1 < @item2, 6530 * %GTK_ORDERING_LARGER if @item1 > @item2 6531 */ 6532 extern(C) GtkOrdering function(GtkSorter* self, void* item1, void* item2) compare; 6533 /** 6534 * 6535 * Params: 6536 * self = a `GtkSorter` 6537 * Returns: The order 6538 */ 6539 extern(C) GtkSorterOrder function(GtkSorter* self) getOrder; 6540 /** */ 6541 extern(C) void function() GtkReserved1; 6542 /** */ 6543 extern(C) void function() GtkReserved2; 6544 /** */ 6545 extern(C) void function() GtkReserved3; 6546 /** */ 6547 extern(C) void function() GtkReserved4; 6548 /** */ 6549 extern(C) void function() GtkReserved5; 6550 /** */ 6551 extern(C) void function() GtkReserved6; 6552 /** */ 6553 extern(C) void function() GtkReserved7; 6554 /** */ 6555 extern(C) void function() GtkReserved8; 6556 } 6557 6558 struct GtkSpinButton; 6559 6560 struct GtkSpinner; 6561 6562 struct GtkStack; 6563 6564 struct GtkStackPage; 6565 6566 struct GtkStackSidebar; 6567 6568 struct GtkStackSwitcher; 6569 6570 struct GtkStatusbar; 6571 6572 struct GtkStringFilter; 6573 6574 struct GtkStringFilterClass 6575 { 6576 GtkFilterClass parentClass; 6577 } 6578 6579 struct GtkStringList; 6580 6581 struct GtkStringListClass 6582 { 6583 GObjectClass parentClass; 6584 } 6585 6586 struct GtkStringObject; 6587 6588 struct GtkStringObjectClass 6589 { 6590 GObjectClass parentClass; 6591 } 6592 6593 struct GtkStringSorter; 6594 6595 struct GtkStringSorterClass 6596 { 6597 GtkSorterClass parentClass; 6598 } 6599 6600 struct GtkStyleContext 6601 { 6602 GObject parentObject; 6603 } 6604 6605 struct GtkStyleContextClass 6606 { 6607 GObjectClass parentClass; 6608 /** */ 6609 extern(C) void function(GtkStyleContext* context) changed; 6610 /** */ 6611 extern(C) void function() GtkReserved1; 6612 /** */ 6613 extern(C) void function() GtkReserved2; 6614 /** */ 6615 extern(C) void function() GtkReserved3; 6616 /** */ 6617 extern(C) void function() GtkReserved4; 6618 } 6619 6620 struct GtkStyleProvider; 6621 6622 struct GtkSwitch; 6623 6624 struct GtkSymbolicPaintable; 6625 6626 /** 6627 * The list of virtual functions for the `GtkSymbolicPaintable` interface. 6628 * No function must be implemented, default implementations exist for each one. 6629 */ 6630 struct GtkSymbolicPaintableInterface 6631 { 6632 GTypeInterface gIface; 6633 /** */ 6634 extern(C) void function(GtkSymbolicPaintable* paintable, GdkSnapshot* snapshot, double width, double height, GdkRGBA* colors, size_t nColors) snapshotSymbolic; 6635 } 6636 6637 struct GtkText 6638 { 6639 GtkWidget parentInstance; 6640 } 6641 6642 struct GtkTextBuffer 6643 { 6644 GObject parentInstance; 6645 GtkTextBufferPrivate* priv; 6646 } 6647 6648 /** 6649 * The class structure for `GtkTextBuffer`. 6650 */ 6651 struct GtkTextBufferClass 6652 { 6653 /** 6654 * The object class structure needs to be the first. 6655 */ 6656 GObjectClass parentClass; 6657 /** */ 6658 extern(C) void function(GtkTextBuffer* buffer, GtkTextIter* pos, const(char)* newText, int newTextLength) insertText; 6659 /** */ 6660 extern(C) void function(GtkTextBuffer* buffer, GtkTextIter* iter, GdkPaintable* paintable) insertPaintable; 6661 /** */ 6662 extern(C) void function(GtkTextBuffer* buffer, GtkTextIter* iter, GtkTextChildAnchor* anchor) insertChildAnchor; 6663 /** */ 6664 extern(C) void function(GtkTextBuffer* buffer, GtkTextIter* start, GtkTextIter* end) deleteRange; 6665 /** */ 6666 extern(C) void function(GtkTextBuffer* buffer) changed; 6667 /** */ 6668 extern(C) void function(GtkTextBuffer* buffer) modifiedChanged; 6669 /** */ 6670 extern(C) void function(GtkTextBuffer* buffer, GtkTextIter* location, GtkTextMark* mark) markSet; 6671 /** */ 6672 extern(C) void function(GtkTextBuffer* buffer, GtkTextMark* mark) markDeleted; 6673 /** */ 6674 extern(C) void function(GtkTextBuffer* buffer, GtkTextTag* tag, GtkTextIter* start, GtkTextIter* end) applyTag; 6675 /** */ 6676 extern(C) void function(GtkTextBuffer* buffer, GtkTextTag* tag, GtkTextIter* start, GtkTextIter* end) removeTag; 6677 /** */ 6678 extern(C) void function(GtkTextBuffer* buffer) beginUserAction; 6679 /** */ 6680 extern(C) void function(GtkTextBuffer* buffer) endUserAction; 6681 /** */ 6682 extern(C) void function(GtkTextBuffer* buffer, GdkClipboard* clipboard) pasteDone; 6683 /** */ 6684 extern(C) void function(GtkTextBuffer* buffer) undo; 6685 /** */ 6686 extern(C) void function(GtkTextBuffer* buffer) redo; 6687 /** */ 6688 extern(C) void function() GtkReserved1; 6689 /** */ 6690 extern(C) void function() GtkReserved2; 6691 /** */ 6692 extern(C) void function() GtkReserved3; 6693 /** */ 6694 extern(C) void function() GtkReserved4; 6695 } 6696 6697 struct GtkTextBufferPrivate; 6698 6699 struct GtkTextChildAnchor 6700 { 6701 GObject parentInstance; 6702 void* segment; 6703 } 6704 6705 struct GtkTextChildAnchorClass 6706 { 6707 GObjectClass parentClass; 6708 /** */ 6709 extern(C) void function() GtkReserved1; 6710 /** */ 6711 extern(C) void function() GtkReserved2; 6712 /** */ 6713 extern(C) void function() GtkReserved3; 6714 /** */ 6715 extern(C) void function() GtkReserved4; 6716 } 6717 6718 struct GtkTextIter 6719 { 6720 void* dummy1; 6721 void* dummy2; 6722 int dummy3; 6723 int dummy4; 6724 int dummy5; 6725 int dummy6; 6726 int dummy7; 6727 int dummy8; 6728 void* dummy9; 6729 void* dummy10; 6730 int dummy11; 6731 int dummy12; 6732 int dummy13; 6733 void* dummy14; 6734 } 6735 6736 struct GtkTextMark 6737 { 6738 GObject parentInstance; 6739 void* segment; 6740 } 6741 6742 struct GtkTextMarkClass 6743 { 6744 GObjectClass parentClass; 6745 void*[8] padding; 6746 } 6747 6748 struct GtkTextTag 6749 { 6750 GObject parentInstance; 6751 GtkTextTagPrivate* priv; 6752 } 6753 6754 struct GtkTextTagClass 6755 { 6756 GObjectClass parentClass; 6757 void*[8] padding; 6758 } 6759 6760 struct GtkTextTagPrivate; 6761 6762 struct GtkTextTagTable; 6763 6764 struct GtkTextView 6765 { 6766 GtkWidget parentInstance; 6767 GtkTextViewPrivate* priv; 6768 } 6769 6770 struct GtkTextViewClass 6771 { 6772 /** 6773 * The object class structure needs to be the first 6774 */ 6775 GtkWidgetClass parentClass; 6776 /** */ 6777 extern(C) void function(GtkTextView* textView, GtkMovementStep step, int count, int extendSelection) moveCursor; 6778 /** */ 6779 extern(C) void function(GtkTextView* textView) setAnchor; 6780 /** */ 6781 extern(C) void function(GtkTextView* textView, const(char)* str) insertAtCursor; 6782 /** */ 6783 extern(C) void function(GtkTextView* textView, GtkDeleteType type, int count) deleteFromCursor; 6784 /** */ 6785 extern(C) void function(GtkTextView* textView) backspace; 6786 /** */ 6787 extern(C) void function(GtkTextView* textView) cutClipboard; 6788 /** */ 6789 extern(C) void function(GtkTextView* textView) copyClipboard; 6790 /** */ 6791 extern(C) void function(GtkTextView* textView) pasteClipboard; 6792 /** */ 6793 extern(C) void function(GtkTextView* textView) toggleOverwrite; 6794 /** */ 6795 extern(C) GtkTextBuffer* function(GtkTextView* textView) createBuffer; 6796 /** */ 6797 extern(C) void function(GtkTextView* textView, GtkTextViewLayer layer, GtkSnapshot* snapshot) snapshotLayer; 6798 /** */ 6799 extern(C) int function(GtkTextView* textView, GtkTextExtendSelection granularity, GtkTextIter* location, GtkTextIter* start, GtkTextIter* end) extendSelection; 6800 /** */ 6801 extern(C) void function(GtkTextView* textView) insertEmoji; 6802 void*[8] padding; 6803 } 6804 6805 struct GtkTextViewPrivate; 6806 6807 struct GtkToggleButton 6808 { 6809 GtkButton button; 6810 } 6811 6812 struct GtkToggleButtonClass 6813 { 6814 GtkButtonClass parentClass; 6815 /** */ 6816 extern(C) void function(GtkToggleButton* toggleButton) toggled; 6817 void*[8] padding; 6818 } 6819 6820 struct GtkTooltip; 6821 6822 struct GtkTreeDragDest; 6823 6824 struct GtkTreeDragDestIface 6825 { 6826 GTypeInterface gIface; 6827 /** 6828 * 6829 * Params: 6830 * dragDest = a `GtkTreeDragDest` 6831 * dest = row to drop in front of 6832 * value = data to drop 6833 * Returns: whether a new row was created before position @dest 6834 */ 6835 extern(C) int function(GtkTreeDragDest* dragDest, GtkTreePath* dest, GValue* value) dragDataReceived; 6836 /** 6837 * 6838 * Params: 6839 * dragDest = a `GtkTreeDragDest` 6840 * destPath = destination row 6841 * value = the data being dropped 6842 * Returns: %TRUE if a drop is possible before @dest_path 6843 */ 6844 extern(C) int function(GtkTreeDragDest* dragDest, GtkTreePath* destPath, GValue* value) rowDropPossible; 6845 } 6846 6847 struct GtkTreeDragSource; 6848 6849 struct GtkTreeDragSourceIface 6850 { 6851 GTypeInterface gIface; 6852 /** 6853 * 6854 * Params: 6855 * dragSource = a `GtkTreeDragSource` 6856 * path = row on which user is initiating a drag 6857 * Returns: %TRUE if the row can be dragged 6858 */ 6859 extern(C) int function(GtkTreeDragSource* dragSource, GtkTreePath* path) rowDraggable; 6860 /** 6861 * 6862 * Params: 6863 * dragSource = a `GtkTreeDragSource` 6864 * path = row that was dragged 6865 * Returns: a `GdkContentProvider` for the 6866 * given @path 6867 */ 6868 extern(C) GdkContentProvider* function(GtkTreeDragSource* dragSource, GtkTreePath* path) dragDataGet; 6869 /** 6870 * 6871 * Params: 6872 * dragSource = a `GtkTreeDragSource` 6873 * path = row that was being dragged 6874 * Returns: %TRUE if the row was successfully deleted 6875 */ 6876 extern(C) int function(GtkTreeDragSource* dragSource, GtkTreePath* path) dragDataDelete; 6877 } 6878 6879 struct GtkTreeExpander; 6880 6881 struct GtkTreeExpanderClass 6882 { 6883 GtkWidgetClass parentClass; 6884 } 6885 6886 struct GtkTreeIter 6887 { 6888 /** 6889 * a unique stamp to catch invalid iterators 6890 */ 6891 int stamp; 6892 /** 6893 * model-specific data 6894 */ 6895 void* userData; 6896 /** 6897 * model-specific data 6898 */ 6899 void* userData2; 6900 /** 6901 * model-specific data 6902 */ 6903 void* userData3; 6904 } 6905 6906 struct GtkTreeListModel; 6907 6908 struct GtkTreeListModelClass 6909 { 6910 GObjectClass parentClass; 6911 } 6912 6913 struct GtkTreeListRow; 6914 6915 struct GtkTreeListRowClass 6916 { 6917 GObjectClass parentClass; 6918 } 6919 6920 struct GtkTreeListRowSorter; 6921 6922 struct GtkTreeListRowSorterClass 6923 { 6924 GtkSorterClass parentClass; 6925 } 6926 6927 struct GtkTreeModel; 6928 6929 struct GtkTreeModelFilter 6930 { 6931 GObject parent; 6932 GtkTreeModelFilterPrivate* priv; 6933 } 6934 6935 struct GtkTreeModelFilterClass 6936 { 6937 GObjectClass parentClass; 6938 /** */ 6939 extern(C) int function(GtkTreeModelFilter* self, GtkTreeModel* childModel, GtkTreeIter* iter) visible; 6940 /** */ 6941 extern(C) void function(GtkTreeModelFilter* self, GtkTreeModel* childModel, GtkTreeIter* iter, GValue* value, int column) modify; 6942 void*[8] padding; 6943 } 6944 6945 struct GtkTreeModelFilterPrivate; 6946 6947 struct GtkTreeModelIface 6948 { 6949 GTypeInterface gIface; 6950 /** */ 6951 extern(C) void function(GtkTreeModel* treeModel, GtkTreePath* path, GtkTreeIter* iter) rowChanged; 6952 /** */ 6953 extern(C) void function(GtkTreeModel* treeModel, GtkTreePath* path, GtkTreeIter* iter) rowInserted; 6954 /** */ 6955 extern(C) void function(GtkTreeModel* treeModel, GtkTreePath* path, GtkTreeIter* iter) rowHasChildToggled; 6956 /** */ 6957 extern(C) void function(GtkTreeModel* treeModel, GtkTreePath* path) rowDeleted; 6958 /** */ 6959 extern(C) void function(GtkTreeModel* treeModel, GtkTreePath* path, GtkTreeIter* iter, int* newOrder) rowsReordered; 6960 /** 6961 * 6962 * Params: 6963 * treeModel = a `GtkTreeModel` 6964 * Returns: the flags supported by this interface 6965 */ 6966 extern(C) GtkTreeModelFlags function(GtkTreeModel* treeModel) getFlags; 6967 /** 6968 * 6969 * Params: 6970 * treeModel = a `GtkTreeModel` 6971 * Returns: the number of columns 6972 */ 6973 extern(C) int function(GtkTreeModel* treeModel) getNColumns; 6974 /** 6975 * 6976 * Params: 6977 * treeModel = a `GtkTreeModel` 6978 * index = the column index 6979 * Returns: the type of the column 6980 */ 6981 extern(C) GType function(GtkTreeModel* treeModel, int index) getColumnType; 6982 /** 6983 * 6984 * Params: 6985 * treeModel = a `GtkTreeModel` 6986 * iter = the uninitialized `GtkTreeIter` 6987 * path = the `GtkTreePath` 6988 * Returns: %TRUE, if @iter was set 6989 */ 6990 extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter, GtkTreePath* path) getIter; 6991 /** 6992 * 6993 * Params: 6994 * treeModel = a `GtkTreeModel` 6995 * iter = the `GtkTreeIter` 6996 * Returns: a newly-created `GtkTreePath` 6997 */ 6998 extern(C) GtkTreePath* function(GtkTreeModel* treeModel, GtkTreeIter* iter) getPath; 6999 /** */ 7000 extern(C) void function(GtkTreeModel* treeModel, GtkTreeIter* iter, int column, GValue* value) getValue; 7001 /** 7002 * 7003 * Params: 7004 * treeModel = a `GtkTreeModel` 7005 * iter = the `GtkTreeIter` 7006 * Returns: %TRUE if @iter has been changed to the next node 7007 */ 7008 extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter) iterNext; 7009 /** 7010 * 7011 * Params: 7012 * treeModel = a `GtkTreeModel` 7013 * iter = the `GtkTreeIter` 7014 * Returns: %TRUE if @iter has been changed to the previous node 7015 */ 7016 extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter) iterPrevious; 7017 /** 7018 * 7019 * Params: 7020 * treeModel = a `GtkTreeModel` 7021 * iter = the new `GtkTreeIter` to be set to the child 7022 * parent = the `GtkTreeIter` 7023 * Returns: %TRUE, if @iter has been set to the first child 7024 */ 7025 extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter, GtkTreeIter* parent) iterChildren; 7026 /** 7027 * 7028 * Params: 7029 * treeModel = a `GtkTreeModel` 7030 * iter = the `GtkTreeIter` to test for children 7031 * Returns: %TRUE if @iter has children 7032 */ 7033 extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter) iterHasChild; 7034 /** 7035 * 7036 * Params: 7037 * treeModel = a `GtkTreeModel` 7038 * iter = the `GtkTreeIter` 7039 * Returns: the number of children of @iter 7040 */ 7041 extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter) iterNChildren; 7042 /** 7043 * 7044 * Params: 7045 * treeModel = a `GtkTreeModel` 7046 * iter = the `GtkTreeIter` to set to the nth child 7047 * parent = the `GtkTreeIter` to get the child from 7048 * n = the index of the desired child 7049 * Returns: %TRUE, if @parent has an @n-th child 7050 */ 7051 extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter, GtkTreeIter* parent, int n) iterNthChild; 7052 /** 7053 * 7054 * Params: 7055 * treeModel = a `GtkTreeModel` 7056 * iter = the new `GtkTreeIter` to set to the parent 7057 * child = the `GtkTreeIter` 7058 * Returns: %TRUE, if @iter is set to the parent of @child 7059 */ 7060 extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter, GtkTreeIter* child) iterParent; 7061 /** */ 7062 extern(C) void function(GtkTreeModel* treeModel, GtkTreeIter* iter) refNode; 7063 /** */ 7064 extern(C) void function(GtkTreeModel* treeModel, GtkTreeIter* iter) unrefNode; 7065 } 7066 7067 struct GtkTreeModelSort 7068 { 7069 GObject parent; 7070 GtkTreeModelSortPrivate* priv; 7071 } 7072 7073 struct GtkTreeModelSortClass 7074 { 7075 GObjectClass parentClass; 7076 void*[8] padding; 7077 } 7078 7079 struct GtkTreeModelSortPrivate; 7080 7081 struct GtkTreePath; 7082 7083 struct GtkTreeRowReference; 7084 7085 struct GtkTreeSelection; 7086 7087 struct GtkTreeSortable; 7088 7089 struct GtkTreeSortableIface 7090 { 7091 GTypeInterface gIface; 7092 /** */ 7093 extern(C) void function(GtkTreeSortable* sortable) sortColumnChanged; 7094 /** 7095 * 7096 * Params: 7097 * sortable = A `GtkTreeSortable` 7098 * sortColumnId = The sort column id to be filled in 7099 * order = The `GtkSortType` to be filled in 7100 * Returns: %TRUE if the sort column is not one of the special sort 7101 * column ids. 7102 */ 7103 extern(C) int function(GtkTreeSortable* sortable, int* sortColumnId, GtkSortType* order) getSortColumnId; 7104 /** */ 7105 extern(C) void function(GtkTreeSortable* sortable, int sortColumnId, GtkSortType order) setSortColumnId; 7106 /** */ 7107 extern(C) void function(GtkTreeSortable* sortable, int sortColumnId, GtkTreeIterCompareFunc sortFunc, void* userData, GDestroyNotify destroy) setSortFunc; 7108 /** */ 7109 extern(C) void function(GtkTreeSortable* sortable, GtkTreeIterCompareFunc sortFunc, void* userData, GDestroyNotify destroy) setDefaultSortFunc; 7110 /** 7111 * 7112 * Params: 7113 * sortable = A `GtkTreeSortable` 7114 * Returns: %TRUE, if the model has a default sort function 7115 */ 7116 extern(C) int function(GtkTreeSortable* sortable) hasDefaultSortFunc; 7117 } 7118 7119 struct GtkTreeStore 7120 { 7121 GObject parent; 7122 GtkTreeStorePrivate* priv; 7123 } 7124 7125 struct GtkTreeStoreClass 7126 { 7127 GObjectClass parentClass; 7128 void*[8] padding; 7129 } 7130 7131 struct GtkTreeStorePrivate; 7132 7133 struct GtkTreeView 7134 { 7135 GtkWidget parentInstance; 7136 } 7137 7138 struct GtkTreeViewClass 7139 { 7140 GtkWidgetClass parentClass; 7141 /** */ 7142 extern(C) void function(GtkTreeView* treeView, GtkTreePath* path, GtkTreeViewColumn* column) rowActivated; 7143 /** */ 7144 extern(C) int function(GtkTreeView* treeView, GtkTreeIter* iter, GtkTreePath* path) testExpandRow; 7145 /** */ 7146 extern(C) int function(GtkTreeView* treeView, GtkTreeIter* iter, GtkTreePath* path) testCollapseRow; 7147 /** */ 7148 extern(C) void function(GtkTreeView* treeView, GtkTreeIter* iter, GtkTreePath* path) rowExpanded; 7149 /** */ 7150 extern(C) void function(GtkTreeView* treeView, GtkTreeIter* iter, GtkTreePath* path) rowCollapsed; 7151 /** */ 7152 extern(C) void function(GtkTreeView* treeView) columnsChanged; 7153 /** */ 7154 extern(C) void function(GtkTreeView* treeView) cursorChanged; 7155 /** */ 7156 extern(C) int function(GtkTreeView* treeView, GtkMovementStep step, int count, int extend, int modify) moveCursor; 7157 /** */ 7158 extern(C) int function(GtkTreeView* treeView) selectAll; 7159 /** */ 7160 extern(C) int function(GtkTreeView* treeView) unselectAll; 7161 /** */ 7162 extern(C) int function(GtkTreeView* treeView, int startEditing) selectCursorRow; 7163 /** */ 7164 extern(C) int function(GtkTreeView* treeView) toggleCursorRow; 7165 /** */ 7166 extern(C) int function(GtkTreeView* treeView, int logical, int expand, int openAll) expandCollapseCursorRow; 7167 /** */ 7168 extern(C) int function(GtkTreeView* treeView) selectCursorParent; 7169 /** */ 7170 extern(C) int function(GtkTreeView* treeView) startInteractiveSearch; 7171 void*[16] Reserved; 7172 } 7173 7174 struct GtkTreeViewColumn; 7175 7176 struct GtkVideo; 7177 7178 struct GtkVideoClass 7179 { 7180 GtkWidgetClass parentClass; 7181 } 7182 7183 struct GtkViewport; 7184 7185 struct GtkVolumeButton 7186 { 7187 GtkScaleButton parent; 7188 } 7189 7190 struct GtkWidget 7191 { 7192 GObject parentInstance; 7193 GtkWidgetPrivate* priv; 7194 } 7195 7196 struct GtkWidgetClass 7197 { 7198 /** 7199 * The object class structure needs to be the first 7200 * element in the widget class structure in order for the class mechanism 7201 * to work correctly. This allows a GtkWidgetClass pointer to be cast to 7202 * a GObjectClass pointer. 7203 */ 7204 GObjectClass parentClass; 7205 /** */ 7206 extern(C) void function(GtkWidget* widget) show; 7207 /** */ 7208 extern(C) void function(GtkWidget* widget) hide; 7209 /** */ 7210 extern(C) void function(GtkWidget* widget) map; 7211 /** */ 7212 extern(C) void function(GtkWidget* widget) unmap; 7213 /** */ 7214 extern(C) void function(GtkWidget* widget) realize; 7215 /** */ 7216 extern(C) void function(GtkWidget* widget) unrealize; 7217 /** */ 7218 extern(C) void function(GtkWidget* widget) root; 7219 /** */ 7220 extern(C) void function(GtkWidget* widget) unroot; 7221 /** */ 7222 extern(C) void function(GtkWidget* widget, int width, int height, int baseline) sizeAllocate; 7223 /** */ 7224 extern(C) void function(GtkWidget* widget, GtkStateFlags previousStateFlags) stateFlagsChanged; 7225 /** */ 7226 extern(C) void function(GtkWidget* widget, GtkTextDirection previousDirection) directionChanged; 7227 /** 7228 * 7229 * Params: 7230 * widget = a `GtkWidget` instance 7231 * Returns: The `GtkSizeRequestMode` preferred by @widget. 7232 */ 7233 extern(C) GtkSizeRequestMode function(GtkWidget* widget) getRequestMode; 7234 /** */ 7235 extern(C) void function(GtkWidget* widget, GtkOrientation orientation, int forSize, int* minimum, int* natural, int* minimumBaseline, int* naturalBaseline) measure; 7236 /** 7237 * 7238 * Params: 7239 * widget = a `GtkWidget` 7240 * groupCycling = %TRUE if there are other widgets with the same mnemonic 7241 * Returns: %TRUE if the signal has been handled 7242 */ 7243 extern(C) int function(GtkWidget* widget, int groupCycling) mnemonicActivate; 7244 /** 7245 * 7246 * Params: 7247 * widget = a `GtkWidget` 7248 * Returns: %TRUE if focus is now inside @widget. 7249 */ 7250 extern(C) int function(GtkWidget* widget) grabFocus; 7251 /** */ 7252 extern(C) int function(GtkWidget* widget, GtkDirectionType direction) focus; 7253 /** */ 7254 extern(C) void function(GtkWidget* widget, GtkWidget* child) setFocusChild; 7255 /** */ 7256 extern(C) void function(GtkWidget* widget, GtkDirectionType direction) moveFocus; 7257 /** 7258 * 7259 * Params: 7260 * widget = a `GtkWidget` 7261 * direction = direction of focus movement 7262 * Returns: %TRUE if stopping keyboard navigation is fine, %FALSE 7263 * if the emitting widget should try to handle the keyboard 7264 * navigation attempt in its parent container(s). 7265 */ 7266 extern(C) int function(GtkWidget* widget, GtkDirectionType direction) keynavFailed; 7267 /** */ 7268 extern(C) int function(GtkWidget* widget, int x, int y, int keyboardTooltip, GtkTooltip* tooltip) queryTooltip; 7269 /** */ 7270 extern(C) void function(GtkWidget* widget, int* hexpandP, int* vexpandP) computeExpand; 7271 /** */ 7272 extern(C) void function(GtkWidget* widget, GtkCssStyleChange* change) cssChanged; 7273 /** */ 7274 extern(C) void function(GtkWidget* widget, GtkSystemSetting settings) systemSettingChanged; 7275 /** */ 7276 extern(C) void function(GtkWidget* widget, GtkSnapshot* snapshot) snapshot; 7277 /** 7278 * 7279 * Params: 7280 * widget = the widget to query 7281 * x = X coordinate to test, relative to @widget's origin 7282 * y = Y coordinate to test, relative to @widget's origin 7283 * Returns: %TRUE if @widget contains (@x, @y). 7284 */ 7285 extern(C) int function(GtkWidget* widget, double x, double y) contains; 7286 GtkWidgetClassPrivate* priv; 7287 void*[8] padding; 7288 } 7289 7290 struct GtkWidgetClassPrivate; 7291 7292 struct GtkWidgetPaintable; 7293 7294 struct GtkWidgetPaintableClass 7295 { 7296 GObjectClass parentClass; 7297 } 7298 7299 struct GtkWidgetPrivate; 7300 7301 struct GtkWindow 7302 { 7303 GtkWidget parentInstance; 7304 } 7305 7306 struct GtkWindowClass 7307 { 7308 /** 7309 * The parent class. 7310 */ 7311 GtkWidgetClass parentClass; 7312 /** */ 7313 extern(C) void function(GtkWindow* window) activateFocus; 7314 /** */ 7315 extern(C) void function(GtkWindow* window) activateDefault; 7316 /** */ 7317 extern(C) void function(GtkWindow* window) keysChanged; 7318 /** */ 7319 extern(C) int function(GtkWindow* window, int toggle) enableDebugging; 7320 /** */ 7321 extern(C) int function(GtkWindow* window) closeRequest; 7322 void*[8] padding; 7323 } 7324 7325 struct GtkWindowControls; 7326 7327 struct GtkWindowControlsClass 7328 { 7329 GtkWidgetClass parentClass; 7330 } 7331 7332 struct GtkWindowGroup 7333 { 7334 GObject parentInstance; 7335 GtkWindowGroupPrivate* priv; 7336 } 7337 7338 struct GtkWindowGroupClass 7339 { 7340 GObjectClass parentClass; 7341 /** */ 7342 extern(C) void function() GtkReserved1; 7343 /** */ 7344 extern(C) void function() GtkReserved2; 7345 /** */ 7346 extern(C) void function() GtkReserved3; 7347 /** */ 7348 extern(C) void function() GtkReserved4; 7349 } 7350 7351 struct GtkWindowGroupPrivate; 7352 7353 struct GtkWindowHandle; 7354 7355 struct GtkWindowHandleClass 7356 { 7357 GtkWidgetClass parentClass; 7358 } 7359 7360 /** 7361 * Type of callback used to calculate the next page in a `GtkAssistant`. 7362 * 7363 * It’s called both for computing the next page when the user presses the 7364 * “forward” button and for handling the behavior of the “last” button. 7365 * 7366 * See [method@Gtk.Assistant.set_forward_page_func]. 7367 * 7368 * Params: 7369 * currentPage = The page number used to calculate the next page. 7370 * data = user data. 7371 * 7372 * Returns: The next page number 7373 */ 7374 public alias extern(C) int function(int currentPage, void* data) GtkAssistantPageFunc; 7375 7376 /** 7377 * The type of the callback functions used for iterating over the 7378 * cell renderers and their allocated areas inside a `GtkCellArea`, 7379 * see gtk_cell_area_foreach_alloc(). 7380 * 7381 * Params: 7382 * renderer = the cell renderer to operate on 7383 * cellArea = the area allocated to @renderer inside the rectangle 7384 * provided to gtk_cell_area_foreach_alloc(). 7385 * cellBackground = the background area for @renderer inside the 7386 * background area provided to gtk_cell_area_foreach_alloc(). 7387 * data = user-supplied data 7388 * 7389 * Returns: %TRUE to stop iterating over cells. 7390 */ 7391 public alias extern(C) int function(GtkCellRenderer* renderer, GdkRectangle* cellArea, GdkRectangle* cellBackground, void* data) GtkCellAllocCallback; 7392 7393 /** 7394 * The type of the callback functions used for iterating over 7395 * the cell renderers of a `GtkCellArea`, see gtk_cell_area_foreach(). 7396 * 7397 * Params: 7398 * renderer = the cell renderer to operate on 7399 * data = user-supplied data 7400 * 7401 * Returns: %TRUE to stop iterating over cells. 7402 */ 7403 public alias extern(C) int function(GtkCellRenderer* renderer, void* data) GtkCellCallback; 7404 7405 /** 7406 * A function which should set the value of @cell_layout’s cell renderer(s) 7407 * as appropriate. 7408 * 7409 * Params: 7410 * cellLayout = a `GtkCellLayout` 7411 * cell = the cell renderer whose value is to be set 7412 * treeModel = the model 7413 * iter = a `GtkTreeIter` indicating the row to set the value for 7414 * data = user data passed to gtk_cell_layout_set_cell_data_func() 7415 */ 7416 public alias extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, GtkTreeModel* treeModel, GtkTreeIter* iter, void* data) GtkCellLayoutDataFunc; 7417 7418 /** 7419 * A function to be used by `GtkCustomLayout` to allocate a widget. 7420 * 7421 * Params: 7422 * widget = the widget to allocate 7423 * width = the new width of the widget 7424 * height = the new height of the widget 7425 * baseline = the new baseline of the widget, or -1 7426 */ 7427 public alias extern(C) void function(GtkWidget* widget, int width, int height, int baseline) GtkCustomAllocateFunc; 7428 7429 /** 7430 * User function that is called to determine if the @item should be matched. 7431 * 7432 * If the filter matches the item, this function must return %TRUE. If the 7433 * item should be filtered out, %FALSE must be returned. 7434 * 7435 * Params: 7436 * item = The item to be matched 7437 * userData = user data 7438 * 7439 * Returns: %TRUE to keep the item around 7440 */ 7441 public alias extern(C) int function(void* item, void* userData) GtkCustomFilterFunc; 7442 7443 /** 7444 * A function to be used by `GtkCustomLayout` to measure a widget. 7445 * 7446 * Params: 7447 * widget = the widget to be measured 7448 * orientation = the direction to be measured 7449 * forSize = the size to be measured for 7450 * minimum = the measured minimum size of the widget 7451 * natural = the measured natural size of the widget 7452 * minimumBaseline = the measured minimum baseline of the widget 7453 * naturalBaseline = the measured natural baseline of the widget 7454 */ 7455 public alias extern(C) void function(GtkWidget* widget, GtkOrientation orientation, int forSize, int* minimum, int* natural, int* minimumBaseline, int* naturalBaseline) GtkCustomMeasureFunc; 7456 7457 /** 7458 * Queries a widget for its preferred size request mode. 7459 * 7460 * Params: 7461 * widget = the widget to be queried 7462 * 7463 * Returns: the size request mode 7464 */ 7465 public alias extern(C) GtkSizeRequestMode function(GtkWidget* widget) GtkCustomRequestModeFunc; 7466 7467 /** 7468 * Whenever @drawing_area needs to redraw, this function will be called. 7469 * 7470 * This function should exclusively redraw the contents of the drawing area 7471 * and must not call any widget functions that cause changes. 7472 * 7473 * Params: 7474 * drawingArea = the `GtkDrawingArea` to redraw 7475 * cr = the context to draw to 7476 * width = the actual width of the contents. This value will be at least 7477 * as wide as GtkDrawingArea:width. 7478 * height = the actual height of the contents. This value will be at least 7479 * as wide as GtkDrawingArea:height. 7480 * userData = user data 7481 */ 7482 public alias extern(C) void function(GtkDrawingArea* drawingArea, cairo_t* cr, int width, int height, void* userData) GtkDrawingAreaDrawFunc; 7483 7484 /** 7485 * A function which decides whether the row indicated by @iter matches 7486 * a given @key, and should be displayed as a possible completion for @key. 7487 * 7488 * Note that @key is normalized and case-folded (see g_utf8_normalize() 7489 * and g_utf8_casefold()). If this is not appropriate, match functions 7490 * have access to the unmodified key via 7491 * `gtk_editable_get_text (GTK_EDITABLE (gtk_entry_completion_get_entry ()))`. 7492 * 7493 * Params: 7494 * completion = the `GtkEntryCompletion` 7495 * key = the string to match, normalized and case-folded 7496 * iter = a `GtkTreeIter` indicating the row to match 7497 * userData = user data given to gtk_entry_completion_set_match_func() 7498 * 7499 * Returns: %TRUE if @iter should be displayed as a possible completion 7500 * for @key 7501 */ 7502 public alias extern(C) int function(GtkEntryCompletion* completion, const(char)* key, GtkTreeIter* iter, void* userData) GtkEntryCompletionMatchFunc; 7503 7504 /** 7505 * Callback called by gtk_expression_watch() when the 7506 * expression value changes. 7507 * 7508 * Params: 7509 * userData = data passed to gtk_expression_watch() 7510 */ 7511 public alias extern(C) void function(void* userData) GtkExpressionNotify; 7512 7513 /** 7514 * Called for flow boxes that are bound to a `GListModel`. 7515 * 7516 * This function is called for each item that gets added to the model. 7517 * 7518 * Params: 7519 * item = the item from the model for which to create a widget for 7520 * userData = user data from gtk_flow_box_bind_model() 7521 * 7522 * Returns: a `GtkWidget` that represents @item 7523 */ 7524 public alias extern(C) GtkWidget* function(void* item, void* userData) GtkFlowBoxCreateWidgetFunc; 7525 7526 /** 7527 * A function that will be called whenever a child changes 7528 * or is added. 7529 * 7530 * It lets you control if the child should be visible or not. 7531 * 7532 * Params: 7533 * child = a `GtkFlowBoxChild` that may be filtered 7534 * userData = user data 7535 * 7536 * Returns: %TRUE if the row should be visible, %FALSE otherwise 7537 */ 7538 public alias extern(C) int function(GtkFlowBoxChild* child, void* userData) GtkFlowBoxFilterFunc; 7539 7540 /** 7541 * A function used by gtk_flow_box_selected_foreach(). 7542 * 7543 * It will be called on every selected child of the @box. 7544 * 7545 * Params: 7546 * box = a `GtkFlowBox` 7547 * child = a `GtkFlowBoxChild` 7548 * userData = user data 7549 */ 7550 public alias extern(C) void function(GtkFlowBox* box, GtkFlowBoxChild* child, void* userData) GtkFlowBoxForeachFunc; 7551 7552 /** 7553 * A function to compare two children to determine which 7554 * should come first. 7555 * 7556 * Params: 7557 * child1 = the first child 7558 * child2 = the second child 7559 * userData = user data 7560 * 7561 * Returns: < 0 if @child1 should be before @child2, 0 if 7562 * the are equal, and > 0 otherwise 7563 */ 7564 public alias extern(C) int function(GtkFlowBoxChild* child1, GtkFlowBoxChild* child2, void* userData) GtkFlowBoxSortFunc; 7565 7566 /** 7567 * The type of function that is used for deciding what fonts get 7568 * shown in a `GtkFontChooser`. 7569 * 7570 * See [method@Gtk.FontChooser.set_filter_func]. 7571 * 7572 * Params: 7573 * family = a `PangoFontFamily` 7574 * face = a `PangoFontFace` belonging to @family 7575 * data = user data passed to gtk_font_chooser_set_filter_func() 7576 * 7577 * Returns: %TRUE if the font should be displayed 7578 */ 7579 public alias extern(C) int function(PangoFontFamily* family, PangoFontFace* face, void* data) GtkFontFilterFunc; 7580 7581 /** 7582 * A function used by gtk_icon_view_selected_foreach() to map all 7583 * selected rows. 7584 * 7585 * It will be called on every selected row in the view. 7586 * 7587 * Params: 7588 * iconView = a `GtkIconView` 7589 * path = The `GtkTreePath` of a selected row 7590 * data = user data 7591 */ 7592 public alias extern(C) void function(GtkIconView* iconView, GtkTreePath* path, void* data) GtkIconViewForeachFunc; 7593 7594 /** 7595 * Called for list boxes that are bound to a `GListModel` with 7596 * gtk_list_box_bind_model() for each item that gets added to the model. 7597 * 7598 * If the widget returned is not a #GtkListBoxRow widget, then the widget 7599 * will be inserted as the child of an intermediate #GtkListBoxRow. 7600 * 7601 * Params: 7602 * item = the item from the model for which to create a widget for 7603 * userData = user data 7604 * 7605 * Returns: a `GtkWidget` that represents @item 7606 */ 7607 public alias extern(C) GtkWidget* function(void* item, void* userData) GtkListBoxCreateWidgetFunc; 7608 7609 /** 7610 * Will be called whenever the row changes or is added and lets you control 7611 * if the row should be visible or not. 7612 * 7613 * Params: 7614 * row = the row that may be filtered 7615 * userData = user data 7616 * 7617 * Returns: %TRUE if the row should be visible, %FALSE otherwise 7618 */ 7619 public alias extern(C) int function(GtkListBoxRow* row, void* userData) GtkListBoxFilterFunc; 7620 7621 /** 7622 * A function used by gtk_list_box_selected_foreach(). 7623 * 7624 * It will be called on every selected child of the @box. 7625 * 7626 * Params: 7627 * box = a `GtkListBox` 7628 * row = a `GtkListBoxRow` 7629 * userData = user data 7630 */ 7631 public alias extern(C) void function(GtkListBox* box, GtkListBoxRow* row, void* userData) GtkListBoxForeachFunc; 7632 7633 /** 7634 * Compare two rows to determine which should be first. 7635 * 7636 * Params: 7637 * row1 = the first row 7638 * row2 = the second row 7639 * userData = user data 7640 * 7641 * Returns: < 0 if @row1 should be before @row2, 0 if they are 7642 * equal and > 0 otherwise 7643 */ 7644 public alias extern(C) int function(GtkListBoxRow* row1, GtkListBoxRow* row2, void* userData) GtkListBoxSortFunc; 7645 7646 /** 7647 * Whenever @row changes or which row is before @row changes this 7648 * is called, which lets you update the header on @row. 7649 * 7650 * You may remove or set a new one via [method@Gtk.ListBoxRow.set_header] 7651 * or just change the state of the current header widget. 7652 * 7653 * Params: 7654 * row = the row to update 7655 * before = the row before @row, or %NULL if it is first 7656 * userData = user data 7657 */ 7658 public alias extern(C) void function(GtkListBoxRow* row, GtkListBoxRow* before, void* userData) GtkListBoxUpdateHeaderFunc; 7659 7660 /** 7661 * User function that is called to map an @item of the original model to 7662 * an item expected by the map model. 7663 * 7664 * The returned items must conform to the item type of the model they are 7665 * used with. 7666 * 7667 * Params: 7668 * item = The item to map 7669 * userData = user data 7670 * 7671 * Returns: The item to map to 7672 */ 7673 public alias extern(C) void* function(void* item, void* userData) GtkMapListModelMapFunc; 7674 7675 /** 7676 * User-provided callback function to create a popup for a 7677 * `GtkMenuButton` on demand. 7678 * 7679 * This function is called when the popup of @menu_button is shown, 7680 * but none has been provided via [method@Gtk.MenuButton.set_popover] 7681 * or [method@Gtk.MenuButton.set_menu_model]. 7682 * 7683 * Params: 7684 * menuButton = the `GtkMenuButton` 7685 * userData = User data passed to gtk_menu_button_set_create_popup_func() 7686 */ 7687 public alias extern(C) void function(GtkMenuButton* menuButton, void* userData) GtkMenuButtonCreatePopupFunc; 7688 7689 /** 7690 * The type of function that is passed to 7691 * gtk_print_run_page_setup_dialog_async(). 7692 * 7693 * This function will be called when the page setup dialog 7694 * is dismissed, and also serves as destroy notify for @data. 7695 * 7696 * Params: 7697 * pageSetup = the `GtkPageSetup` that has been passed to 7698 * gtk_print_run_page_setup_dialog_async() 7699 * data = user data that has been passed to 7700 * gtk_print_run_page_setup_dialog_async() 7701 */ 7702 public alias extern(C) void function(GtkPageSetup* pageSetup, void* data) GtkPageSetupDoneFunc; 7703 7704 /** 7705 * The type of callback that is passed to gtk_print_job_send(). 7706 * 7707 * It is called when the print job has been completely sent. 7708 * 7709 * Params: 7710 * printJob = the `GtkPrintJob` 7711 * userData = user data that has been passed to gtk_print_job_send() 7712 * error = a `GError` that contains error information if the sending 7713 * of the print job failed, otherwise %NULL 7714 */ 7715 public alias extern(C) void function(GtkPrintJob* printJob, void* userData, GError* error) GtkPrintJobCompleteFunc; 7716 7717 /** */ 7718 public alias extern(C) void function(const(char)* key, const(char)* value, void* userData) GtkPrintSettingsFunc; 7719 7720 /** 7721 * The type of function passed to gtk_enumerate_printers(). 7722 * 7723 * Note that you need to ref @printer, if you want to keep 7724 * a reference to it after the function has returned. 7725 * 7726 * Params: 7727 * printer = a `GtkPrinter` 7728 * data = user data passed to gtk_enumerate_printers() 7729 * 7730 * Returns: %TRUE to stop the enumeration, %FALSE to continue 7731 */ 7732 public alias extern(C) int function(GtkPrinter* printer, void* data) GtkPrinterFunc; 7733 7734 /** 7735 * 7736 * Params: 7737 * scale = The `GtkScale` 7738 * value = The numeric value to format 7739 * userData = user data 7740 * Returns: A newly allocated string describing a textual representation 7741 * of the given numerical value. 7742 */ 7743 public alias extern(C) char* function(GtkScale* scale, double value, void* userData) GtkScaleFormatValueFunc; 7744 7745 /** 7746 * Prototype for shortcuts based on user callbacks. 7747 * 7748 * Params: 7749 * widget = The widget passed to the activation 7750 * args = The arguments passed to the activation 7751 * userData = The user data provided when activating the action 7752 * 7753 * Returns: %TRUE if the action was successful. 7754 */ 7755 public alias extern(C) int function(GtkWidget* widget, GVariant* args, void* userData) GtkShortcutFunc; 7756 7757 /** 7758 * The predicate function used by gtk_text_iter_forward_find_char() and 7759 * gtk_text_iter_backward_find_char(). 7760 * 7761 * Params: 7762 * ch = a Unicode code point 7763 * userData = data passed to the callback 7764 * 7765 * Returns: %TRUE if the predicate is satisfied, and the iteration should 7766 * stop, and %FALSE otherwise 7767 */ 7768 public alias extern(C) int function(dchar ch, void* userData) GtkTextCharPredicate; 7769 7770 /** 7771 * A function used with gtk_text_tag_table_foreach(), 7772 * to iterate over every `GtkTextTag` inside a `GtkTextTagTable`. 7773 * 7774 * Params: 7775 * tag = the `GtkTextTag` 7776 * data = data passed to gtk_text_tag_table_foreach() 7777 */ 7778 public alias extern(C) void function(GtkTextTag* tag, void* data) GtkTextTagTableForeach; 7779 7780 /** 7781 * Callback type for adding a function to update animations. See gtk_widget_add_tick_callback(). 7782 * 7783 * Params: 7784 * widget = the widget 7785 * frameClock = the frame clock for the widget (same as calling gtk_widget_get_frame_clock()) 7786 * userData = user data passed to gtk_widget_add_tick_callback(). 7787 * 7788 * Returns: %G_SOURCE_CONTINUE if the tick callback should continue to be called, 7789 * %G_SOURCE_REMOVE if the tick callback should be removed. 7790 */ 7791 public alias extern(C) int function(GtkWidget* widget, GdkFrameClock* frameClock, void* userData) GtkTickCallback; 7792 7793 /** 7794 * A function to set the properties of a cell instead of just using the 7795 * straight mapping between the cell and the model. 7796 * 7797 * This function is useful for customizing the cell renderer. For example, 7798 * a function might get an* integer from the @tree_model, and render it to 7799 * the “text” attribute of “cell” by converting it to its written equivalent. 7800 * 7801 * See also: gtk_tree_view_column_set_cell_data_func() 7802 * 7803 * Params: 7804 * treeColumn = A `GtkTreeViewColumn` 7805 * cell = The `GtkCellRenderer` that is being rendered by @tree_column 7806 * treeModel = The `GtkTreeModel` being rendered 7807 * iter = A `GtkTreeIter` of the current row rendered 7808 * data = user data 7809 */ 7810 public alias extern(C) void function(GtkTreeViewColumn* treeColumn, GtkCellRenderer* cell, GtkTreeModel* treeModel, GtkTreeIter* iter, void* data) GtkTreeCellDataFunc; 7811 7812 /** 7813 * A GtkTreeIterCompareFunc should return a negative integer, zero, or a positive 7814 * integer if @a sorts before @b, @a sorts with @b, or @a sorts after @b 7815 * respectively. 7816 * 7817 * If two iters compare as equal, their order in the sorted model 7818 * is undefined. In order to ensure that the `GtkTreeSortable` behaves as 7819 * expected, the GtkTreeIterCompareFunc must define a partial order on 7820 * the model, i.e. it must be reflexive, antisymmetric and transitive. 7821 * 7822 * For example, if @model is a product catalogue, then a compare function 7823 * for the “price” column could be one which returns 7824 * `price_of(@a) - price_of(@b)`. 7825 * 7826 * Params: 7827 * model = The `GtkTreeModel` the comparison is within 7828 * a = A `GtkTreeIter` in @model 7829 * b = Another `GtkTreeIter` in @model 7830 * userData = Data passed when the compare func is assigned e.g. by 7831 * gtk_tree_sortable_set_sort_func() 7832 * 7833 * Returns: a negative integer, zero or a positive integer depending on whether 7834 * @a sorts before, with or after @b 7835 */ 7836 public alias extern(C) int function(GtkTreeModel* model, GtkTreeIter* a, GtkTreeIter* b, void* userData) GtkTreeIterCompareFunc; 7837 7838 /** 7839 * Prototype of the function called to create new child models when 7840 * gtk_tree_list_row_set_expanded() is called. 7841 * 7842 * This function can return %NULL to indicate that @item is guaranteed to be 7843 * a leaf node and will never have children. If it does not have children but 7844 * may get children later, it should return an empty model that is filled once 7845 * children arrive. 7846 * 7847 * Params: 7848 * item = The item that is being expanded 7849 * userData = User data passed when registering the function 7850 * 7851 * Returns: The model tracking the children of 7852 * @item or %NULL if @item can never have children 7853 */ 7854 public alias extern(C) GListModel* function(void* item, void* userData) GtkTreeListModelCreateModelFunc; 7855 7856 /** 7857 * A function which calculates display values from raw values in the model. 7858 * It must fill @value with the display value for the column @column in the 7859 * row indicated by @iter. 7860 * 7861 * Since this function is called for each data access, it’s not a 7862 * particularly efficient operation. 7863 * 7864 * Params: 7865 * model = the `GtkTreeModelFilter` 7866 * iter = a `GtkTreeIter` pointing to the row whose display values are determined 7867 * value = A `GValue` which is already initialized for 7868 * with the correct type for the column @column. 7869 * column = the column whose display value is determined 7870 * data = user data given to gtk_tree_model_filter_set_modify_func() 7871 */ 7872 public alias extern(C) void function(GtkTreeModel* model, GtkTreeIter* iter, GValue* value, int column, void* data) GtkTreeModelFilterModifyFunc; 7873 7874 /** 7875 * A function which decides whether the row indicated by @iter is visible. 7876 * 7877 * Params: 7878 * model = the child model of the `GtkTreeModelFilter` 7879 * iter = a `GtkTreeIter` pointing to the row in @model whose visibility 7880 * is determined 7881 * data = user data given to gtk_tree_model_filter_set_visible_func() 7882 * 7883 * Returns: Whether the row indicated by @iter is visible. 7884 */ 7885 public alias extern(C) int function(GtkTreeModel* model, GtkTreeIter* iter, void* data) GtkTreeModelFilterVisibleFunc; 7886 7887 /** 7888 * Type of the callback passed to gtk_tree_model_foreach() to 7889 * iterate over the rows in a tree model. 7890 * 7891 * Params: 7892 * model = the `GtkTreeModel` being iterated 7893 * path = the current `GtkTreePath` 7894 * iter = the current `GtkTreeIter` 7895 * data = The user data passed to gtk_tree_model_foreach() 7896 * 7897 * Returns: %TRUE to stop iterating, %FALSE to continue 7898 */ 7899 public alias extern(C) int function(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter, void* data) GtkTreeModelForeachFunc; 7900 7901 /** 7902 * A function used by gtk_tree_selection_selected_foreach() to map all 7903 * selected rows. It will be called on every selected row in the view. 7904 * 7905 * Params: 7906 * model = The `GtkTreeModel` being viewed 7907 * path = The `GtkTreePath` of a selected row 7908 * iter = A `GtkTreeIter` pointing to a selected row 7909 * data = user data 7910 */ 7911 public alias extern(C) void function(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter, void* data) GtkTreeSelectionForeachFunc; 7912 7913 /** 7914 * A function used by gtk_tree_selection_set_select_function() to filter 7915 * whether or not a row may be selected. It is called whenever a row's 7916 * state might change. 7917 * 7918 * A return value of %TRUE indicates to @selection that it is okay to 7919 * change the selection. 7920 * 7921 * Params: 7922 * selection = A `GtkTreeSelection` 7923 * model = A `GtkTreeModel` being viewed 7924 * path = The `GtkTreePath` of the row in question 7925 * pathCurrentlySelected = %TRUE, if the path is currently selected 7926 * data = user data 7927 * 7928 * Returns: %TRUE, if the selection state of the row can be toggled 7929 */ 7930 public alias extern(C) int function(GtkTreeSelection* selection, GtkTreeModel* model, GtkTreePath* path, int pathCurrentlySelected, void* data) GtkTreeSelectionFunc; 7931 7932 /** 7933 * Function type for determining whether @column can be dropped in a 7934 * particular spot (as determined by @prev_column and @next_column). In 7935 * left to right locales, @prev_column is on the left of the potential drop 7936 * spot, and @next_column is on the right. In right to left mode, this is 7937 * reversed. This function should return %TRUE if the spot is a valid drop 7938 * spot. Please note that returning %TRUE does not actually indicate that 7939 * the column drop was made, but is meant only to indicate a possible drop 7940 * spot to the user. 7941 * 7942 * Params: 7943 * treeView = A `GtkTreeView` 7944 * column = The `GtkTreeViewColumn` being dragged 7945 * prevColumn = A `GtkTreeViewColumn` on one side of @column 7946 * nextColumn = A `GtkTreeViewColumn` on the other side of @column 7947 * data = user data 7948 * 7949 * Returns: %TRUE, if @column can be dropped in this spot 7950 */ 7951 public alias extern(C) int function(GtkTreeView* treeView, GtkTreeViewColumn* column, GtkTreeViewColumn* prevColumn, GtkTreeViewColumn* nextColumn, void* data) GtkTreeViewColumnDropFunc; 7952 7953 /** 7954 * Function used for gtk_tree_view_map_expanded_rows(). 7955 * 7956 * Params: 7957 * treeView = A `GtkTreeView` 7958 * path = The path that’s expanded 7959 * userData = user data 7960 */ 7961 public alias extern(C) void function(GtkTreeView* treeView, GtkTreePath* path, void* userData) GtkTreeViewMappingFunc; 7962 7963 /** 7964 * Function type for determining whether the row pointed to by @iter should 7965 * be rendered as a separator. A common way to implement this is to have a 7966 * boolean column in the model, whose values the `GtkTreeViewRowSeparatorFunc` 7967 * returns. 7968 * 7969 * Params: 7970 * model = the `GtkTreeModel` 7971 * iter = a `GtkTreeIter` pointing at a row in @model 7972 * data = user data 7973 * 7974 * Returns: %TRUE if the row is a separator 7975 */ 7976 public alias extern(C) int function(GtkTreeModel* model, GtkTreeIter* iter, void* data) GtkTreeViewRowSeparatorFunc; 7977 7978 /** 7979 * A function used for checking whether a row in @model matches 7980 * a search key string entered by the user. Note the return value 7981 * is reversed from what you would normally expect, though it 7982 * has some similarity to strcmp() returning 0 for equal strings. 7983 * 7984 * Params: 7985 * model = the `GtkTreeModel` being searched 7986 * column = the search column set by gtk_tree_view_set_search_column() 7987 * key = the key string to compare with 7988 * iter = a `GtkTreeIter` pointing the row of @model that should be compared 7989 * with @key. 7990 * searchData = user data from gtk_tree_view_set_search_equal_func() 7991 * 7992 * Returns: %FALSE if the row matches, %TRUE otherwise. 7993 */ 7994 public alias extern(C) int function(GtkTreeModel* model, int column, const(char)* key, GtkTreeIter* iter, void* searchData) GtkTreeViewSearchEqualFunc; 7995 7996 /** 7997 * The type of the callback functions used for activating 7998 * actions installed with gtk_widget_class_install_action(). 7999 * 8000 * The @parameter must match the @parameter_type of the action. 8001 * 8002 * Params: 8003 * widget = the widget to which the action belongs 8004 * actionName = the action name 8005 * parameter = parameter for activation 8006 */ 8007 public alias extern(C) void function(GtkWidget* widget, const(char)* actionName, GVariant* parameter) GtkWidgetActionActivateFunc; 8008 8009 /** 8010 * An undefined value. The accessible attribute is either unset, or its 8011 * value is undefined. 8012 */ 8013 enum ACCESSIBLE_VALUE_UNDEFINED = -1; 8014 alias GTK_ACCESSIBLE_VALUE_UNDEFINED = ACCESSIBLE_VALUE_UNDEFINED; 8015 8016 /** 8017 * Like [func@get_binary_age], but from the headers used at 8018 * application compile time, rather than from the library linked 8019 * against at application run time. 8020 */ 8021 enum BINARY_AGE = 604; 8022 alias GTK_BINARY_AGE = BINARY_AGE; 8023 8024 enum IM_MODULE_EXTENSION_POINT_NAME = "gtk-im-module"; 8025 alias GTK_IM_MODULE_EXTENSION_POINT_NAME = IM_MODULE_EXTENSION_POINT_NAME; 8026 8027 /** 8028 * Constant to return from a signal handler for the ::input 8029 * signal in case of conversion failure. 8030 * 8031 * See [signal@Gtk.SpinButton::input]. 8032 */ 8033 enum INPUT_ERROR = -1; 8034 alias GTK_INPUT_ERROR = INPUT_ERROR; 8035 8036 /** 8037 * Like [func@get_interface_age], but from the headers used at 8038 * application compile time, rather than from the library linked 8039 * against at application run time. 8040 */ 8041 enum INTERFACE_AGE = 4; 8042 alias GTK_INTERFACE_AGE = INTERFACE_AGE; 8043 8044 /** 8045 * The value used to refer to a guaranteed invalid position 8046 * in a `GListModel`. 8047 * 8048 * This value may be returned from some functions, others may 8049 * accept it as input. Its interpretation may differ for different 8050 * functions. 8051 * 8052 * Refer to each function's documentation for if this value is 8053 * allowed and what it does. 8054 */ 8055 enum INVALID_LIST_POSITION = 4294967295; 8056 alias GTK_INVALID_LIST_POSITION = INVALID_LIST_POSITION; 8057 8058 /** 8059 * The name used for the stock full offset included by `GtkLevelBar`. 8060 */ 8061 enum LEVEL_BAR_OFFSET_FULL = "full"; 8062 alias GTK_LEVEL_BAR_OFFSET_FULL = LEVEL_BAR_OFFSET_FULL; 8063 8064 /** 8065 * The name used for the stock high offset included by `GtkLevelBar`. 8066 */ 8067 enum LEVEL_BAR_OFFSET_HIGH = "high"; 8068 alias GTK_LEVEL_BAR_OFFSET_HIGH = LEVEL_BAR_OFFSET_HIGH; 8069 8070 /** 8071 * The name used for the stock low offset included by `GtkLevelBar`. 8072 */ 8073 enum LEVEL_BAR_OFFSET_LOW = "low"; 8074 alias GTK_LEVEL_BAR_OFFSET_LOW = LEVEL_BAR_OFFSET_LOW; 8075 8076 /** 8077 * Like [func@get_major_version], but from the headers used at 8078 * application compile time, rather than from the library linked 8079 * against at application run time. 8080 */ 8081 enum MAJOR_VERSION = 4; 8082 alias GTK_MAJOR_VERSION = MAJOR_VERSION; 8083 8084 enum MAX_COMPOSE_LEN = 7; 8085 alias GTK_MAX_COMPOSE_LEN = MAX_COMPOSE_LEN; 8086 8087 enum MEDIA_FILE_EXTENSION_POINT_NAME = "gtk-media-file"; 8088 alias GTK_MEDIA_FILE_EXTENSION_POINT_NAME = MEDIA_FILE_EXTENSION_POINT_NAME; 8089 8090 /** 8091 * Like [func@get_micro_version], but from the headers used at 8092 * application compile time, rather than from the library linked 8093 * against at application run time. 8094 */ 8095 enum MICRO_VERSION = 4; 8096 alias GTK_MICRO_VERSION = MICRO_VERSION; 8097 8098 /** 8099 * Like [func@get_minor_version], but from the headers used at 8100 * application compile time, rather than from the library linked 8101 * against at application run time. 8102 */ 8103 enum MINOR_VERSION = 6; 8104 alias GTK_MINOR_VERSION = MINOR_VERSION; 8105 8106 /** 8107 * Name for the A3 paper size. 8108 */ 8109 enum PAPER_NAME_A3 = "iso_a3"; 8110 alias GTK_PAPER_NAME_A3 = PAPER_NAME_A3; 8111 8112 /** 8113 * Name for the A4 paper size. 8114 */ 8115 enum PAPER_NAME_A4 = "iso_a4"; 8116 alias GTK_PAPER_NAME_A4 = PAPER_NAME_A4; 8117 8118 /** 8119 * Name for the A5 paper size. 8120 */ 8121 enum PAPER_NAME_A5 = "iso_a5"; 8122 alias GTK_PAPER_NAME_A5 = PAPER_NAME_A5; 8123 8124 /** 8125 * Name for the B5 paper size. 8126 */ 8127 enum PAPER_NAME_B5 = "iso_b5"; 8128 alias GTK_PAPER_NAME_B5 = PAPER_NAME_B5; 8129 8130 /** 8131 * Name for the Executive paper size. 8132 */ 8133 enum PAPER_NAME_EXECUTIVE = "na_executive"; 8134 alias GTK_PAPER_NAME_EXECUTIVE = PAPER_NAME_EXECUTIVE; 8135 8136 /** 8137 * Name for the Legal paper size. 8138 */ 8139 enum PAPER_NAME_LEGAL = "na_legal"; 8140 alias GTK_PAPER_NAME_LEGAL = PAPER_NAME_LEGAL; 8141 8142 /** 8143 * Name for the Letter paper size. 8144 */ 8145 enum PAPER_NAME_LETTER = "na_letter"; 8146 alias GTK_PAPER_NAME_LETTER = PAPER_NAME_LETTER; 8147 8148 enum PRINT_SETTINGS_COLLATE = "collate"; 8149 alias GTK_PRINT_SETTINGS_COLLATE = PRINT_SETTINGS_COLLATE; 8150 8151 enum PRINT_SETTINGS_DEFAULT_SOURCE = "default-source"; 8152 alias GTK_PRINT_SETTINGS_DEFAULT_SOURCE = PRINT_SETTINGS_DEFAULT_SOURCE; 8153 8154 enum PRINT_SETTINGS_DITHER = "dither"; 8155 alias GTK_PRINT_SETTINGS_DITHER = PRINT_SETTINGS_DITHER; 8156 8157 enum PRINT_SETTINGS_DUPLEX = "duplex"; 8158 alias GTK_PRINT_SETTINGS_DUPLEX = PRINT_SETTINGS_DUPLEX; 8159 8160 enum PRINT_SETTINGS_FINISHINGS = "finishings"; 8161 alias GTK_PRINT_SETTINGS_FINISHINGS = PRINT_SETTINGS_FINISHINGS; 8162 8163 enum PRINT_SETTINGS_MEDIA_TYPE = "media-type"; 8164 alias GTK_PRINT_SETTINGS_MEDIA_TYPE = PRINT_SETTINGS_MEDIA_TYPE; 8165 8166 enum PRINT_SETTINGS_NUMBER_UP = "number-up"; 8167 alias GTK_PRINT_SETTINGS_NUMBER_UP = PRINT_SETTINGS_NUMBER_UP; 8168 8169 enum PRINT_SETTINGS_NUMBER_UP_LAYOUT = "number-up-layout"; 8170 alias GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT = PRINT_SETTINGS_NUMBER_UP_LAYOUT; 8171 8172 enum PRINT_SETTINGS_N_COPIES = "n-copies"; 8173 alias GTK_PRINT_SETTINGS_N_COPIES = PRINT_SETTINGS_N_COPIES; 8174 8175 enum PRINT_SETTINGS_ORIENTATION = "orientation"; 8176 alias GTK_PRINT_SETTINGS_ORIENTATION = PRINT_SETTINGS_ORIENTATION; 8177 8178 /** 8179 * The key used by the “Print to file” printer to store the file 8180 * name of the output without the path to the directory and the 8181 * file extension. 8182 */ 8183 enum PRINT_SETTINGS_OUTPUT_BASENAME = "output-basename"; 8184 alias GTK_PRINT_SETTINGS_OUTPUT_BASENAME = PRINT_SETTINGS_OUTPUT_BASENAME; 8185 8186 enum PRINT_SETTINGS_OUTPUT_BIN = "output-bin"; 8187 alias GTK_PRINT_SETTINGS_OUTPUT_BIN = PRINT_SETTINGS_OUTPUT_BIN; 8188 8189 /** 8190 * The key used by the “Print to file” printer to store the 8191 * directory to which the output should be written. 8192 */ 8193 enum PRINT_SETTINGS_OUTPUT_DIR = "output-dir"; 8194 alias GTK_PRINT_SETTINGS_OUTPUT_DIR = PRINT_SETTINGS_OUTPUT_DIR; 8195 8196 /** 8197 * The key used by the “Print to file” printer to store the format 8198 * of the output. The supported values are “PS” and “PDF”. 8199 */ 8200 enum PRINT_SETTINGS_OUTPUT_FILE_FORMAT = "output-file-format"; 8201 alias GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT = PRINT_SETTINGS_OUTPUT_FILE_FORMAT; 8202 8203 /** 8204 * The key used by the “Print to file” printer to store the URI 8205 * to which the output should be written. GTK itself supports 8206 * only “file://” URIs. 8207 */ 8208 enum PRINT_SETTINGS_OUTPUT_URI = "output-uri"; 8209 alias GTK_PRINT_SETTINGS_OUTPUT_URI = PRINT_SETTINGS_OUTPUT_URI; 8210 8211 enum PRINT_SETTINGS_PAGE_RANGES = "page-ranges"; 8212 alias GTK_PRINT_SETTINGS_PAGE_RANGES = PRINT_SETTINGS_PAGE_RANGES; 8213 8214 enum PRINT_SETTINGS_PAGE_SET = "page-set"; 8215 alias GTK_PRINT_SETTINGS_PAGE_SET = PRINT_SETTINGS_PAGE_SET; 8216 8217 enum PRINT_SETTINGS_PAPER_FORMAT = "paper-format"; 8218 alias GTK_PRINT_SETTINGS_PAPER_FORMAT = PRINT_SETTINGS_PAPER_FORMAT; 8219 8220 enum PRINT_SETTINGS_PAPER_HEIGHT = "paper-height"; 8221 alias GTK_PRINT_SETTINGS_PAPER_HEIGHT = PRINT_SETTINGS_PAPER_HEIGHT; 8222 8223 enum PRINT_SETTINGS_PAPER_WIDTH = "paper-width"; 8224 alias GTK_PRINT_SETTINGS_PAPER_WIDTH = PRINT_SETTINGS_PAPER_WIDTH; 8225 8226 enum PRINT_SETTINGS_PRINTER = "printer"; 8227 alias GTK_PRINT_SETTINGS_PRINTER = PRINT_SETTINGS_PRINTER; 8228 8229 enum PRINT_SETTINGS_PRINTER_LPI = "printer-lpi"; 8230 alias GTK_PRINT_SETTINGS_PRINTER_LPI = PRINT_SETTINGS_PRINTER_LPI; 8231 8232 enum PRINT_SETTINGS_PRINT_PAGES = "print-pages"; 8233 alias GTK_PRINT_SETTINGS_PRINT_PAGES = PRINT_SETTINGS_PRINT_PAGES; 8234 8235 enum PRINT_SETTINGS_QUALITY = "quality"; 8236 alias GTK_PRINT_SETTINGS_QUALITY = PRINT_SETTINGS_QUALITY; 8237 8238 enum PRINT_SETTINGS_RESOLUTION = "resolution"; 8239 alias GTK_PRINT_SETTINGS_RESOLUTION = PRINT_SETTINGS_RESOLUTION; 8240 8241 enum PRINT_SETTINGS_RESOLUTION_X = "resolution-x"; 8242 alias GTK_PRINT_SETTINGS_RESOLUTION_X = PRINT_SETTINGS_RESOLUTION_X; 8243 8244 enum PRINT_SETTINGS_RESOLUTION_Y = "resolution-y"; 8245 alias GTK_PRINT_SETTINGS_RESOLUTION_Y = PRINT_SETTINGS_RESOLUTION_Y; 8246 8247 enum PRINT_SETTINGS_REVERSE = "reverse"; 8248 alias GTK_PRINT_SETTINGS_REVERSE = PRINT_SETTINGS_REVERSE; 8249 8250 enum PRINT_SETTINGS_SCALE = "scale"; 8251 alias GTK_PRINT_SETTINGS_SCALE = PRINT_SETTINGS_SCALE; 8252 8253 enum PRINT_SETTINGS_USE_COLOR = "use-color"; 8254 alias GTK_PRINT_SETTINGS_USE_COLOR = PRINT_SETTINGS_USE_COLOR; 8255 8256 enum PRINT_SETTINGS_WIN32_DRIVER_EXTRA = "win32-driver-extra"; 8257 alias GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA = PRINT_SETTINGS_WIN32_DRIVER_EXTRA; 8258 8259 enum PRINT_SETTINGS_WIN32_DRIVER_VERSION = "win32-driver-version"; 8260 alias GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION = PRINT_SETTINGS_WIN32_DRIVER_VERSION; 8261 8262 /** 8263 * Use this priority for functionality related to size allocation. 8264 * 8265 * It is used internally by GTK+ to compute the sizes of widgets. 8266 * This priority is higher than %GDK_PRIORITY_REDRAW to avoid 8267 * resizing a widget which was just redrawn. 8268 */ 8269 enum PRIORITY_RESIZE = 110; 8270 alias GTK_PRIORITY_RESIZE = PRIORITY_RESIZE; 8271 8272 /** 8273 * A priority that can be used when adding a `GtkStyleProvider` 8274 * for application-specific style information. 8275 */ 8276 enum STYLE_PROVIDER_PRIORITY_APPLICATION = 600; 8277 alias GTK_STYLE_PROVIDER_PRIORITY_APPLICATION = STYLE_PROVIDER_PRIORITY_APPLICATION; 8278 8279 /** 8280 * The priority used for default style information 8281 * that is used in the absence of themes. 8282 * 8283 * Note that this is not very useful for providing default 8284 * styling for custom style classes - themes are likely to 8285 * override styling provided at this priority with 8286 * catch-all `* {...}` rules. 8287 */ 8288 enum STYLE_PROVIDER_PRIORITY_FALLBACK = 1; 8289 alias GTK_STYLE_PROVIDER_PRIORITY_FALLBACK = STYLE_PROVIDER_PRIORITY_FALLBACK; 8290 8291 /** 8292 * The priority used for style information provided 8293 * via `GtkSettings`. 8294 * 8295 * This priority is higher than %GTK_STYLE_PROVIDER_PRIORITY_THEME 8296 * to let settings override themes. 8297 */ 8298 enum STYLE_PROVIDER_PRIORITY_SETTINGS = 400; 8299 alias GTK_STYLE_PROVIDER_PRIORITY_SETTINGS = STYLE_PROVIDER_PRIORITY_SETTINGS; 8300 8301 /** 8302 * The priority used for style information provided 8303 * by themes. 8304 */ 8305 enum STYLE_PROVIDER_PRIORITY_THEME = 200; 8306 alias GTK_STYLE_PROVIDER_PRIORITY_THEME = STYLE_PROVIDER_PRIORITY_THEME; 8307 8308 /** 8309 * The priority used for the style information from 8310 * `$XDG_CONFIG_HOME/gtk-4.0/gtk.css`. 8311 * 8312 * You should not use priorities higher than this, to 8313 * give the user the last word. 8314 */ 8315 enum STYLE_PROVIDER_PRIORITY_USER = 800; 8316 alias GTK_STYLE_PROVIDER_PRIORITY_USER = STYLE_PROVIDER_PRIORITY_USER; 8317 8318 /** 8319 * The priority at which the text view validates onscreen lines 8320 * in an idle job in the background. 8321 */ 8322 enum TEXT_VIEW_PRIORITY_VALIDATE = 125; 8323 alias GTK_TEXT_VIEW_PRIORITY_VALIDATE = TEXT_VIEW_PRIORITY_VALIDATE; 8324 8325 /** 8326 * Uses the default sort function in a [iface@Gtk.TreeSortable]. 8327 * 8328 * See also: [method@Gtk.TreeSortable.set_sort_column_id] 8329 */ 8330 enum TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID = -1; 8331 alias GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID = TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID; 8332 8333 /** 8334 * Disables sorting in a [iface@Gtk.TreeSortable]. 8335 * 8336 * See also: [method@Gtk.TreeSortable.set_sort_column_id] 8337 */ 8338 enum TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID = -2; 8339 alias GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID = TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID;